/** * 根據文件Id获取文件数据 */ public function getLink($fileId, $linkType, $shareKey) { $data = array(); $file = MiniFile::getInstance()->getById($fileId); $data["name"] = $file["file_name"]; $data["bytes"] = intval($file["file_size"] + ""); $fileType = $file["file_type"]; if ($fileType == 0) { $data["icon"] = MiniHttp::getIcon4File($file["file_name"]); if (!MiniUtil::isMixCloudVersion()) { $data["icon"] = MiniHttp::getMiniHost() . "statics/static/mini-box/images/link/" . $data["icon"]; } else { $data["icon"] = "http://static.miniyun.cn/static/mini-box/images/link/" . $data["icon"]; } } $ext = MiniUtil::getFileExtension($file["file_name"]); $path = MiniUtil::getRelativePath($file["file_path"]); if ($ext == "jpg" || $ext == "jpeg" || $ext == "png" || $ext == "gif") { $data["thumbnail_link"] = MiniHttp::createAnonymousUrl("linkAccess/thumbnail?key=" . $shareKey . "&size=256x256&path=" . urlencode($path)); } else { $data["thumbnail_link"] = ""; } if ($linkType == MiniLink::$PREVIEW_LINK) { $data["link"] = MiniHttp::createUrl("link/access/key/" . $shareKey); } else { $data["link"] = MiniHttp::createAnonymousUrl("linkAccess/download?key=" . $shareKey . "&path=" . urlencode($path)); } return $data; }
/** * 创建外链 */ public function createLink($linkType, $password, $expiryTime) { $result = $this->valid(); if ($result["success"] === false) { return $result; } $file = $this->file; //创建外链 $link = MiniLink::getInstance()->create($this->user["id"], $file["id"], $password, $expiryTime); //创建外链属性 MiniChooserLink::getInstance()->create($link["id"], $this->appKey, $this->session); //返回直链或预览链接 $data = array(); $data["success"] = true; $data["name"] = $file["file_name"]; $data["bytes"] = intval($file["file_size"] + ""); //获得文件的icon $fileType = $file["file_type"]; //根据文件后缀,如果为jpg/jpeg/gif/png就直接显示缩略图 $ext = MiniUtil::getFileExtension($file["file_name"]); if ($ext == "jpg" || $ext == "jpeg" || $ext == "png" || $ext == "gif") { $data["thumbnail_link"] = MiniHttp::createUrl("link/thumbnail/key/" . $link["share_key"]); } else { $data["thumbnail_link"] = ""; } if ($linkType == MiniLink::$PREVIEW_LINK) { $data["link"] = MiniHttp::createUrl("link/access/key/" . $link["share_key"]); } else { $data["link"] = MiniHttp::createUrl("link/direct/key/" . $link["share_key"]); } return $data; }