【文件属性】:
文件名称:Large-file-uplaod:大文件分片上传 (Large files are uploaded in slices)
文件大小:441KB
文件格式:ZIP
更新时间:2021-04-29 03:35:01
JavaScript
大文件上传
项目地址
界面截图:
大文件分片整体流程
计算文件摘要id
文件切片并上传
断点续传
上传进度与暂停
分片上传完成-后端进行分片合并
流程图
前端内容
计算文件摘要id
使用spark-md5 计算文件id
const spark = new SparkMD5.ArrayBuffer();
const fileReader = new FileReader();
fileReader.onload = async (e) => {
spark.append(e.target.result);
const md5FileHash = spark.end(); // 文件的唯一标识
}
文件切片并上传
计算分片数量和分片大小
// 1: 分片数量为定值 2: 分片大小为定值
if (this.chunkType === '1') {
chunks = this