欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
忘了密码?

扫一扫,访问微社区

快捷导航
搜索
查看: 678|回复: 2

[咨询求助] 求助关于php cos v4/v5大文件分片上传问题

[复制链接]

1

主题

0

好友

120

积分

小白[LV1]

Rank: 1

云币
390
威望
120
发表于 2018-3-20 09:45:38 |显示全部楼层 |未分类
这几天在测试cos大文件分片上传,直接调用upload,
这是v4版本的skd说明示例:
  1. 文件操作
  2. 文件上传

  3. 接口说明:文件上传的统一接口,对于大于 20M 的文件,内部会通过多次分片的方式进行文件上传。
  4. 原型方法

  5. public function upload($bucketName, $srcPath, $dstPath,
  6.                $bizAttr = null, $slicesize = null, $insertOnly = null);

复制代码
实际执行上传小文件没问题,,大文件页面执行会超时
sdk文档说明的是会自动识别,想想也不可能啊,这个函数只会返回是否成功,又没有其他信息,php页面肯定会超时;

我又去看了一下v5版本的分片上传sdk
这是v5版本的说明示例:
  1. //上传文件
  2. try {
  3.     $result = $cosClient->upload(
  4.         //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
  5.         $bucket='testbucket-1252448703',
  6.         $key = '111.txt',
  7.         $body = fopen('./hello.txt', 'rb'),
  8.         $options = array(
  9.             "ACL"=>'private',
  10.             'CacheControl' => 'private'));
  11.     print_r($result);
  12. } catch (\Exception $e) {
  13.     echo "$e\n";
  14. }
复制代码
类似跟v4一样,也是调用一个函数,这个肯定也不行
不过v5版本有多提供了几个方法:
  1. // 初始化分块上传
  2. public Guzzle\Service\Resource\Model createMultipartUpload(array $args = array());

  3. // 上传数据分块
  4. public Guzzle\Service\Resource\Model uploadPart(array $args = array());

  5. // 完成分块上传
  6. public Guzzle\Service\Resource\Model completeMultipartUpload(array $args = array());

  7. // 罗列已上传分块
  8. public Guzzle\Service\Resource\Model listParts(array $args = array());

  9. // 终止分块上传
  10. public Guzzle\Service\Resource\Model abortMultipartUpload(array $args = array());
复制代码
似乎看上去有点像了,但是这些方法没有参数说明,也没有返回说明,也不说明怎么调用,感觉无从下手

在历史版本的api里,发下有api的方式,但是,看得不是很明白,不知道具体怎么调用

哪位大神给说下到底是怎么实现分片调用的吗?  或者给我一个demo让我参考研究下




1

主题

0

好友

120

积分

小白[LV1]

Rank: 1

云币
390
威望
120
发表于 2018-3-20 22:10:24 |显示全部楼层
继续求助,哪位大神给与指点一下,发个红包予以感谢下
回复

使用道具 举报

1

主题

0

好友

120

积分

小白[LV1]

Rank: 1

云币
390
威望
120
发表于 2018-3-22 10:35:40 |显示全部楼层
我查了很多历史帖子,很多人说upload函数会自动识别分片,我不知道这些人到底有没有试过,还是单单看了介绍就说可以;
我测试过了,upload函数是能够自动识别,不过也仅限于小文件,文件如果很大,upload内部是分片在传,但是仅仅是机械的做循环,没有返回分片信息,最后的结果就是导致页面超时
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
您需要登录后才可以发帖 QQ登录

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2018-9-21 11:06 , Processed in 1.174378 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部