问题描述
上传大文件到七牛云时,前端只能通过接口 XHR 的状态来显示上传进度,很粗略,并不能反映文件的实际上传进度。
问题出现的环境背景及自己尝试过哪些方法
- 七牛 js-sdk 上传示例分片上传可显示上传进度: http://jssdk-v2.demo.qiniu.io
- 查看 php-sdk 源码,文件大于 4MB 时自动分片上传,但是不知如何能获取到上传进度。
你期待的结果是什么?实际看到的错误信息又是什么?
- 能够后端返回文件上传进度给前端。
上传大文件到七牛云时,前端只能通过接口 XHR 的状态来显示上传进度,很粗略,并不能反映文件的实际上传进度。
您好,
当前php-sdk的话,可以在 ResumeUploader的 upload() 方法中计算当前上传的总进度
array_push($this->contexts, $ret['ctx']);
$uploaded += $blockSize;
用 $uploaded / $fileSize 获取进度,
但是这样的话,是在服务端计算的,只能前端向后端请求这个数据