作为前端领导肯定遇到过类似的要求领导要求我们做分段上传或断点续传 即使没遇到过也该听说过。
分段上传就是把文件w的二进制流分成一段一段上传断点续传同理 网上很多分段上传的代码我这里来说说原理(吹吹牛)代码就不贴了。
重点:
二进制流跟字符串类似(估计的 哈哈)字符串是一个字段一个length 二进制流是一个字节一个length 我们可以用slice查找返回的文件流比如一个视频20MB 我相把它分成5次上传 每次4MB file.slice(0,1024乘以1024乘以4)就可以返回这个视频的前4MB大小的流的 然后带个token分批次传给后台让后台自己组装就可以了 断点续传同样的原理。
用XMLHttpRequest.upload.onprogress可以监听上传文件大小的进度。当用户点击暂停用XMLHttpRequest对象的abort方法终止请求保存用户上传文件的大小点开始时接着传就可以了。
tips:
这样整理下思路是不是感觉比之前去看别人代码要好多了 嘿嘿!!!