表单上传文件,文件过大该怎么办?提交后要等待好长一段时间,不能刷新,还有可能超时

表单中含上传按钮,上传1个文件要好几百兆,这样跟着所有表单数据一块上传的时候,要好长一段时间。
想改进到不用花费太长时间,有什么好的解决办法

阅读 6.2k
4 个回答

增加进度条额

多线程 http2支持

前端上传速度取决于浏览器性能和网速,浏览器要先解析文件(转二进制),再上传,这个过程是同步;http请求虽然支持文件上传,但文件上传最优选是ftp服务,这种大文件上传不该由浏览器负责;

如果非要上传大文件也不是不可以,用分片上传,将input拿到的file转二进制,截取成一段一段的上传,需要服务端配合,记录上传的段id,并返回,前端每上传成功一段也记录一段id,全部上传完毕服务端拼接后再做一次储存处理;
这里可以不再使用form表单提交,改用formData();
总而言之,前端后端都会非常耗性能;
具体代码比较长,就不贴了,去百度 js分片上传;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题