Works with any backend npm install Zero dependencies

Pause & Resume Queue

Pause the upload queue to stop processing new files, then resume to continue. Active uploads finish but no new ones start while paused.

Status: Uploading
var paused = false;
var uploader = new MultipleUpload(document.getElementById('demo-pause-resume'), {
 uploadUrl: '/api/upload',
 multiple: true,
 autoUpload: false,
 concurrency: 1
});

document.getElementById('pause-btn').addEventListener('click', function() {
 uploader.cancelAll();
 paused = true;
 document.getElementById('pause-status').textContent = 'Status: Paused';
});

document.getElementById('resume-btn').addEventListener('click', function() {
 paused = false;
 uploader.upload();
 document.getElementById('pause-status').textContent = 'Status: Uploading';
});

Stopping without losing progress

pause() and resume() hold the queue where it is rather than discarding it. With chunking on, a paused file resumes from its last completed chunk, so pausing is genuinely free.

What it is actually for

A user who needs their bandwidth back for a video call, a metered connection they would rather not spend right now, or a batch they want to finish later. Pause is the option that prevents the alternative — cancelling and starting over — which is what people do when there is no pause.