表单上传文件,文件过大该怎么办?提交后要等待好长一段时间,不能刷新,还有可能超时
表单中含上传按钮,上传1个文件要好几百兆,这样跟着所有表单数据一块上传的时候,要好长一段时间。
想改进到不用花费太长时间,有什么好的解决办法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
表单中含上传按钮,上传1个文件要好几百兆,这样跟着所有表单数据一块上传的时候,要好长一段时间。
想改进到不用花费太长时间,有什么好的解决办法
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
增加进度条额
多线程 http2支持
前端上传速度取决于浏览器性能和网速,浏览器要先解析文件(转二进制),再上传,这个过程是同步;http请求虽然支持文件上传,但文件上传最优选是ftp服务,这种大文件上传不该由浏览器负责;
如果非要上传大文件也不是不可以,用分片上传,将input拿到的file转二进制,截取成一段一段的上传,需要服务端配合,记录上传的段id,并返回,前端每上传成功一段也记录一段id,全部上传完毕服务端拼接后再做一次储存处理;
这里可以不再使用form表单提交,改用formData();
总而言之,前端后端都会非常耗性能;
具体代码比较长,就不贴了,去百度 js分片上传;
分块上传、断点续传、秒传。其实都是把大任务分为小任务,然后通过一些逻辑上的控制,来优化大文件上传。