支持秒传和续传,默认模拟 40% 概率服务异常(自行修改)。
处理逻辑:
- 计算文件哈希,分片大小 1MB。
- 请求服务,检查文件是否已存在:
- 已存在,即秒传成功。
- 不存在,返回已上传的分片列表信息。
- 筛选还未上传的分片进行上传。
- 从队头开始,成功后下一个
- 上传失败,分片重新插入队头等待重试。
- 有分片失败 3 次后,整体上传中止。
- 分片全部上传成功后,发送合并请求,服务端完成合并,即上传完成。
说明:之所以失败重试插入队头而非队尾,是因为多次失败证明服务当前不可用,应尽快停止上传。如果插入队尾,在服务不可用的情况下,后续分片都会重试 3 次。
pnpm i
pnpm start