断点续传是一种在网络文件传输中,允许从中断处重新连接并继续传输的技术。
错误重试是多次尝试相同操作以应对可能中断的错误或失败情况,以提高成功概率的方法。
控制并发上传是限制同时上传文件数量以防服务器过载或网络拥堵,通过限制连接数或速度确保稳定上传;同时运用断点续传和重试提升上传成功率和用户体验。
1. 用户点击按钮或选择文件后,禁用上传按钮,并获取所选文件。
2. 使用FileReader的readAsArrayBuffer方法读取文件内容为ArrayBuffer,并用SparkMD5库计算文件内容的MD5哈希值,结合文件后缀生成唯一文件名。
3. 调用后端方法获取已上传切片信息,存入数组或声明空数组作为待上传切片。
4. 根据文件大小确定切片大小和数量,可设定为100KB或动态计算,最多100份。
5. 将文件切片,生成切片信息对象并加入数组。
6. 使用FormData逐个上传切片数据至后端。
7. 当所有切片上传完成,请求后端合并切片为完整文件。
使用async/await和Promise保证顺序和状态,通过哈希值确保数据完整性,实现分片上传提升速度和稳定性。