Skip to content

秒传

A上传文件时携带MD5值,B上传文件时,如果MD5值相同 就粘贴A的文件 改个名字

MD5 是文件的唯一标识 散列函数的一种

spark-md5 生成文件的MD5值

https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.2/spark-md5.min.js

大文件上传

大文件上传 分片上传 可以并行上传 最大并发数为6,IE浏览器为5

file对象继承Blob,Blob有一个方法slice,进行分片

使用spark-md5生成MD5,前端计算非常慢,阻塞线程,使用web-worker

multer 中间件

  • 文件上传中间件
  • 上传file 一定要写在最下面 读到file就停了

通过文件流合并 / appendFile合并

web-worker

  • 多线程
  • 无法访问DOM和window对象
  • 可以计算,IO操作

断点续传

在上传文件时 每个文件都有一个md5值,如果中途断网已经上传过,再次上传时会找到已经上传的切片,直接跳过即可,即做判断是否存在当前上传的切片