Chunk Retry
Auto-retry failed chunks with retries: 3. If a chunk fails to upload, the uploader automatically retries up to the configured number of times before reporting an error.
new MultipleUpload(document.getElementById('demo-chunk-retry'), {
uploadUrl: '/api/upload',
multiple: true,
chunked: true,
chunkSize: 1 * 1024 * 1024,
retries: 3,
onTaskError: function(task, error) {
var log = document.getElementById('retry-log');
log.innerHTML += '<div>Error on ' + task.fileName + ': ' + error + '</div>';
log.scrollTop = log.scrollHeight;
},
onTaskComplete: function(task) {
var log = document.getElementById('retry-log');
log.innerHTML += '<div style="color:#16a34a">' + task.fileName + ' completed</div>';
}
});
Retrying one chunk, not the file
This is the practical reason chunked uploads win on unreliable networks. A failure costs one chunk, and the retry re-sends only that chunk — where a single-request upload would start the whole file again, which on a bad connection often means never finishing at all.
Where the ceiling actually is
With per-chunk retries a 4 GB upload over flaky mobile becomes a question of patience rather than luck. The limit stops being the length of the longest uninterrupted connection and becomes whether the user leaves the page — which is what persistState then addresses.