JavaScript API

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.
JavaScript API

Use AjaxUploader.create() for full programmatic control. The JavaScript API provides callbacks for every stage of the upload lifecycle.

What you should see: the same engine driven from JavaScript instead of the server control - AjaxUploader.create() with options, no <au:> tag.
AjaxUploader.create(document.getElementById('myUploader'), {
 multiple: true,
 uploadUrl: '/ajaxupload.axd/upload',
 maxFileSize: 5 * 1024 * 1024,
 allowedExtensions: ['.jpg', '.png', '.pdf'],   // client-side gate; keep it in step with the server's

 autoUpload: true,
 showProgress: true,
 onFileAdded: function (file) { statusEl.textContent = 'Selected: ' + file.name; },
 onTaskProgress: function (file, percent) { statusEl.textContent = clampPercent(percent) + '%'; },
 onTaskComplete: function (file, response) { statusEl.textContent = 'Done!'; },
 onTaskError: function (file, error) { statusEl.textContent = error.message; }
});

// Or get an existing server control instance:
var uploader = AjaxUploader.getInstance('Uploader1');
uploader.browse();
uploader.pause();
uploader.resume();
uploader.cancel();
uploader.clear();
var files = uploader.getFiles();