大型文件传输,前后端分别怎么处理?

您所在的位置:网站首页 后端上传文件怎么操作 大型文件传输,前后端分别怎么处理?

大型文件传输,前后端分别怎么处理?

2024-07-10 13:20| 来源: 网络整理| 查看: 265

64db6f43f141041fa76065d1d1a3621f.png

大型文件传输,前后端分别怎么处理?

但是针对大文件的上传,需要做额外的处理,否则可能会遇到如下问题:

1、文件过大,超出服务端的请求大小限制(如SpringMVC,默认文件上传最大1MB)。

2、请求的时间过长,请求超时。

3、客户端网络不好的话,容易传输中断,必须整个文件重传。

可以用分片上传的方式来解决。

前端处理

大文件分片上传,是需要前端和后端配合操作的。

整体流程是:前端将大文件进行分片,例如一个50MB的文件,分成10片,每个片5MB。然后发10个HTTP请求,将这10个分片数据发送给后端,后端根据分片的下标和Size来往磁盘文件的不同位置写入分片数据,10个分片全部写完后即得到一个完整的文件。

6fe878dd29633aaccc3f648772b47464.png

const sliceSize = 5 * 1024 * 1024; // 每个文件切片大小定为5MB //发送请求 function upload() { const blob = document.getElementById("file").files[0]; const fileSize = blob.size;// 文件大小 const fileName = blob.name;// 文件名 //计算文件切片总数 const totalSlice = Math.ceil(fileSize / sliceSize); // 循环上传 for (let i = 1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3