上传大文件还在苦心整合第三方插件吗,现在HTML5出了一个新方法。我们一起来看看利用file.slice上传大文件是多么简单吧。
示例代码
let file = $(":file")[0].files[0]; let fileSize = file.size; let blockSize = 20*1024; let num = Math.ceil(fileSize/blockSize); let start = 0; let end = 0; for(let i=1;i<=num;i++){ end = blockSize*i; if(end > fileSize){ end = fileSize; } let block = file.slice(start,end); start = end; }
先读取文件,然后循环slice切片发送给服务器。短短一段代码搞定,测试上传1G文件无压力。