Skip to content

文件上传

https://www.bilibili.com/video/BV1or421L7fc/?spm_id_from=333.1387.0.0&vd_source=13577946ef3878abe2197cc65b72005c

文件上传的消息格式

本质上就是一个数据提交

  • 一般使用POST请求
  • content-type一般使用multipart/form-data
    • 请求体被boundary定界符分割,每一块是一个键值对

说说大文件上传

断点续传 断开重连重传 切片上传 文件校验

方案

  • 切断切片 chunk 1024M 500k
  • 上传切片:切片取名:hash index
  • 后端合并切片

加料:

  • 前端切片:主进程做卡断,web-worker多线程切片,处理后交给主进程
  • 切完后:将切片的blob存储到indexDB,下次用户进来后,嗅探一下是否存在未完成的切片,有就尝试继续上穿
  • websocket实时通知,和请求序列的控制 wss

断点续传

在做分片上传的时候如果用户刷新了页面,这时候后端可以返回当前的上传进度,前端可以从这个进度上传下一个分片。 但是页面刷新之后前端的源文件会丢失,用户就需要重新点击上传并选择源文件。有没有一种自动化的方法可以自动读取源文件

可以将源文件存到本地indexedDB,刷新后从indexedDB取到文件分片继续上传。

下载

上传

苏ICP备2025160170号-1 | 前端进化之路 | Released under the MIT License.