Speed and ETA

Demo uploads land in a temporary store and are swept after 60 minutes. To keep files, handle FileUploaded — see Single File for the complete save pattern.
Upload Speed and ETA

Show real-time upload speed (KB/s or MB/s) and estimated time remaining by calculating transfer rate from progress events.

What you should see: live transfer speed and estimated time remaining per file, derived from progress deltas. Throttle your connection to watch the estimate adapt.
onTaskStart: function(task) {
 startTime = Date.now();
},
onTaskProgress: function(task, pct) {
 var elapsed = (Date.now() - startTime) / 1000;
 var loaded = task.fileSize * (pct / 100);
 var speed = loaded / elapsed;
 speedEl.textContent = formatBytes(speed);
 var remaining = (elapsed / pct) * (100 - pct);
 etaEl.textContent = formatTime(remaining);
}