分片上传,服务端收到的分片大小却为0

最近遇到一个奇怪的问题,前端使用分片上传大文件,根据服务端日志某些分片上传上来的大小是0

我们的上传原理:前端上传一个分片,服务端收到后返回当前收到的总大小,前端基于这个总大小做下个分片的切割上传,现在根据服务端日志有些分片上传上来的大小是0,导致返回给前端的总大小一直不变,形成了死循环,有的时候甚至会循环几万次

是不是前端分片有问题(看浏览器的UA,绝大多数是WEBKIT系),但是前端自己做的日志上报分片是有大小的,但是在服务端却收到了空的

阅读 2.8k
1 个回答

我使用百度的webuploader做分片上传 5MB/片,个人建议使用这个控件,稳定。
并未产生问题,并且上传过很多大文件

上传时发送这些数据到后端服务器,后台按照正常的文件接收并保存

uploadBeforeSend : function(obj, data, headers) {
    //console.log(obj);
    data.uuid = obj.blob.ruid + obj.file.id + obj.file.size;
    data.start = obj.start;
    data.end = obj.end;
    data.chunks = obj.chunks;
    data.chunk = obj.chunk;
    data.total = obj.file.size;
    data.hash = obj.file.md5;
}

后台数据库记录这些讯息,以UUID为唯一值,当分片数量满,则合并最终文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题