Chunk Upload Progress
Track per-chunk and overall progress with live stats.
Chunks done0
Speed-
ETA-
Progress0%
new MultipleUpload('#demo', {
chunked: true,
chunkSize: '1MB',
chunkConcurrency: 2,
onChunkComplete: function(file, idx, total) { ... },
onTaskProgress: function(task) {
console.log(task.speed, task.eta, task.progress);
}
});
Progress at chunk resolution
onChunkComplete defaults to null and fires as each chunk is acknowledged, which is a much better signal than overall percentage for a large file: it tells you the transfer is genuinely advancing rather than sitting in a stalled request.
Why the numbers can look odd
With chunkConcurrency above 1, chunks complete out of order, so acknowledgement count is not the same as contiguous bytes received. Treat it as a liveness signal and a count, and take the percentage from the task's own progress, which accounts for this.