Exemple #1
0
 /**
  * 上传文件到七牛
  *
  * @param $upToken    上传凭证
  * @param $key        上传文件名
  * @param $filePath   上传文件的路径
  * @param $params     自定义变量,规格参考
  *                    http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#xvar
  * @param $mime       上传数据的mimeType
  * @param $checkCrc   是否校验crc32
  *
  * @return array[]    包含已上传文件的信息,类似:
  *                                              [
  *                                                  "hash" => "<Hash string>",
  *                                                  "key" => "<Key string>"
  *                                              ]
  */
 public function putFile($upToken, $key, $filePath, $params = null, $mime = 'application/octet-stream', $checkCrc = false)
 {
     $file = fopen($filePath, 'rb');
     if ($file === false) {
         throw new \Exception("file can not open", 1);
     }
     $params = self::trimParams($params);
     $stat = fstat($file);
     $size = $stat['size'];
     if ($size <= Config::BLOCK_SIZE) {
         $data = fread($file, $size);
         fclose($file);
         if ($data === false) {
             throw new \Exception("file can not read", 1);
         }
         return FormUploader::put($upToken, $key, $data, $params, $mime, $checkCrc);
     }
     $up = new ResumeUploader($upToken, $key, $file, $size, $params, $mime, $checkCrc);
     return $up->upload();
 }
Exemple #2
0
 /**
  * @param $path
  * @param $resource
  * @param $size
  * @param string $type
  * @return array
  */
 protected function streamUpload($path, $resource, $size, $type = 'application/octet-stream', \Qiniu\Config $config = null)
 {
     if ($config === null) {
         $config = new \Qiniu\Config();
     }
     $resumeUploader = new ResumeUploader($this->getUploadToken(), $path, $resource, $size, null, $type, $config);
     return $resumeUploader->upload();
 }
Exemple #3
0
 /**
  * @inheritdoc
  */
 public function updateStream($path, $resource, Config $config)
 {
     $size = Util::getStreamSize($resource);
     $resumeUploader = new ResumeUploader($this->getUploadToken(), $path, $resource, $size, null, 'application/octet-stream');
     list(, $err) = $resumeUploader->upload();
     if ($err !== null) {
         return false;
     }
     return compact('size', 'path');
 }
 /**
  * Rewrite Qiniu\Storage\UploadManager::putFile
  * @param $upToken
  * @param $key
  * @param $fileResource
  * @param null $params
  * @param string $mime
  * @param bool $checkCrc
  * @return mixed
  * @throws \Exception
  */
 private function qiniuPutFile($upToken, $key, $fileResource, $params = null, $mime = 'application/octet-stream', $checkCrc = false)
 {
     if ($fileResource === false) {
         throw new \Exception("file can not open", 1);
     }
     $file = $fileResource;
     $params = UploadManager::trimParams($params);
     $stat = fstat($file);
     $size = $stat['size'];
     if ($size <= QiniuConfig::BLOCK_SIZE) {
         $data = fread($file, $size);
         fclose($file);
         if ($data === false) {
             throw new \Exception("file can not read", 1);
         }
         $result = FormUploader::put($upToken, $key, $data, new QiniuConfig(), $params, $mime, $checkCrc);
         $this->lastQetag = $result['hash'];
         return $result;
     }
     $up = new ResumeUploader($upToken, $key, $file, $size, $params, $mime, new QiniuConfig());
     $ret = $up->upload();
     fclose($file);
     $this->lastQetag = $ret['hash'];
     return $ret;
 }