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