Direct-to-S3 / Azure tus 1.0 resume IndexedDB Golden Retriever 30 locales Webcam & screen capture

External Progress

Render progress information in a custom location outside the uploader using JS API events.

What you should see: progress rendered somewhere else on the page entirely — the component reports, your markup displays. The built-in bar is not used.
Waiting for upload... 0%
-- Idle
var uploader = CoreUpload.create('#ext-progress-uploader', {
 uploadUrl: '/api/upload/upload',
 multiple: false,
 autoUpload: true,
 onFileAdded: function(file) {
 document.getElementById('ext-file-name').textContent = file.name;
 document.getElementById('ext-size').textContent =
 (file.size / 1024).toFixed(1) + ' KB';
 document.getElementById('ext-status').textContent = 'Uploading...';
 },
 onTaskProgress: function(file, percent) {
 var pct = Math.round(percent);
 document.getElementById('ext-percent').textContent = pct + '%';
 document.getElementById('ext-bar').style.width = pct + '%';
 },
 onTaskComplete: function(file) {
 document.getElementById('ext-status').textContent = 'Complete';
 document.getElementById('ext-bar').style.width = '100%';
 }
});

Progress away from the uploader

The callbacks let you drive an indicator anywhere on the page: a bar in a fixed header, a badge on a nav item, a percentage in the document title so it stays visible from another tab.

A summary cannot name the failure

One external number says how far the batch got, not which file did not make it. Keep the queue reachable — even collapsed behind the indicator — so a user seeing “18 of 20” has somewhere to find out about the other two.