Per-Chunk Progress

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.
Per-Chunk Progress Visualization

Visualize the upload progress of each individual chunk in a grid display. Each cell represents a chunk and changes color as it progresses from pending to uploading to complete.

What you should see: per-chunk progress reported as each slice is acknowledged. Use a file larger than the chunk size or it silently takes the single-request path and shows one step.
  Pending   Uploading   Complete   Failed
AjaxUploader.create('#uploader', {
 uploadUrl: '/ajaxupload.axd/upload',
 chunkUrl: '/ajaxupload.axd/chunk',
 chunkCompleteUrl: '/ajaxupload.axd/chunk/complete',
 chunked: true,
 chunkSize: 1 * 1024 * 1024,
 onTaskStart: function(task) {
 var total = Math.ceil(task.total / (1 * 1024 * 1024));
 // Build grid cells for each chunk
 },
 onTaskProgress: function(task) {
 // Update chunk cell colors based on progress
 }
});