表单中含上传按钮,上传1个文件要好几百兆,这样跟着所有表单数据一块上传的时候,要好长一段时间。
想改进到不用花费太长时间,有什么好的解决办法
表单中含上传按钮,上传1个文件要好几百兆,这样跟着所有表单数据一块上传的时候,要好长一段时间。
想改进到不用花费太长时间,有什么好的解决办法
前端上传速度取决于浏览器性能和网速,浏览器要先解析文件(转二进制),再上传,这个过程是同步;http请求虽然支持文件上传,但文件上传最优选是ftp服务,这种大文件上传不该由浏览器负责;
如果非要上传大文件也不是不可以,用分片上传,将input拿到的file转二进制,截取成一段一段的上传,需要服务端配合,记录上传的段id,并返回,前端每上传成功一段也记录一段id,全部上传完毕服务端拼接后再做一次储存处理;
这里可以不再使用form表单提交,改用formData();
总而言之,前端后端都会非常耗性能;
具体代码比较长,就不贴了,去百度 js分片上传;
分块上传、断点续传、秒传。其实都是把大任务分为小任务,然后通过一些逻辑上的控制,来优化大文件上传。
13 回答13k 阅读
8 回答2.8k 阅读
2 回答5.2k 阅读✓ 已解决
5 回答1.4k 阅读
7 回答2.2k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
增加进度条额