Resumable Upload
ChunkFlow automatically saves upload progress and can resume from where it left off.
How It Works
Upload progress is persisted to IndexedDB after each successful chunk upload. When the page reloads or the user returns, ChunkFlow can resume from the last saved state.
Automatic Resume
typescript
const manager = new UploadManager({
requestAdapter: adapter,
autoResumeUnfinished: true, // Default: true
});
await manager.init(); // Automatically resumes unfinished uploadsManual Pause/Resume
typescript
const task = manager.createTask(file);
await task.start();
// Pause
task.pause();
// Resume later
await task.resume();Progress Persistence
Progress is saved to IndexedDB:
typescript
interface UploadRecord {
taskId: string;
fileInfo: FileInfo;
uploadedChunks: number[];
uploadToken: string;
createdAt: number;
updatedAt: number;
}Best Practices
- Enable auto-resume for better UX
- Show resume UI for paused uploads
- Handle storage quota errors gracefully
- Clean up old records periodically
