断点续传
ChunkFlow 自动保存上传进度,可以从中断的地方恢复。
工作原理
每次成功上传分片后,上传进度会持久化到 IndexedDB。当页面重新加载或用户返回时,ChunkFlow 可以从上次保存的状态恢复。
自动恢复
typescript
const manager = new UploadManager({
requestAdapter: adapter,
autoResumeUnfinished: true, // 默认: true
});
await manager.init(); // 自动恢复未完成的上传手动暂停/恢复
typescript
const task = manager.createTask(file);
await task.start();
// 暂停
task.pause();
// 稍后恢复
await task.resume();进度持久化
进度保存到 IndexedDB:
typescript
interface UploadRecord {
taskId: string;
fileInfo: FileInfo;
uploadedChunks: number[];
uploadToken: string;
createdAt: number;
updatedAt: number;
}最佳实践
- 启用自动恢复以获得更好的用户体验
- 为暂停的上传显示恢复 UI
- 优雅地处理存储配额错误
- 定期清理旧记录
