Exemple #1
0
 /**
  * 上传文件到七牛,并获得其预览地址
  * @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'];
             }
         }
     }
 }