/** * 上传文件到七牛,并获得其预览地址 * @param string $filePath 本地文件路径 * @param string $key 存储目标文件名(默认为 md5_filesize.type * @return string 存储后的预览URL */ public static function uploadAndReturnQiniuPreviewUrl($filePath, $key = null) { if (!is_null($key)) { $uploadToken = W2Qiniu::getUploadTokenForQiniuUpload($key); } else { $uploadToken = W2Qiniu::getUploadTokenForQiniuUploadWithFile($filePath); } if (defined('IS_SQL_PRINT') && IS_SQL_PRINT) { var_export($uploadToken); } if (is_array($uploadToken) && array_key_exists('uploadToken', $uploadToken)) { if (array_key_exists('isFileExistInQiniu', $uploadToken) && $uploadToken['isFileExistInQiniu']) { return $uploadToken['urlPreview']; } else { $putExtra = new Qiniu_PutExtra(); $putExtra->Crc32 = 1; list($ret, $err) = Qiniu_PutFile($uploadToken['uploadToken'], $uploadToken['SaveKey'], $filePath, $putExtra); if ($err !== null) { throw new Exception($err, 1); } else { return $uploadToken['urlPreview']; } } } }