Chunked uploading splits large files into smaller pieces and sends them in parallel. Each chunk is independently retryable, so a flaky connection won't restart a 2 GB upload from zero.
Enable it with EnableChunkedUpload="true".
Alternatives: for resumable uploads against an external tus server, see the
tus 1.0 demo.
For direct-to-cloud transfers that skip your server entirely, see
S3,
Azure Blob, or
Google Cloud Storage 5.1.
Combine with IndexedDB resume for crash-survival.
Drag & drop files here, or paste from clipboard
How It Works
- The file is split into chunks (default 1 MB each)
- Each chunk is sent as a separate HTTP request to the chunk URL
- The server reassembles chunks in order
- Progress is tracked across all chunks for a smooth experience
JavaScript API Equivalent
<au:AjaxFileUpload ID="Uploader1" runat="server"
EnableChunkedUpload="true"
ChunkSize="1048576"
AllowMultiple="true"
ShowProgress="true" />
// JavaScript API approach
AjaxUploader.create(el, {
uploadUrl: '/ajaxupload.axd/upload',
chunkUrl: '/ajaxupload.axd/chunk',
chunked: true,
chunkSize: 1048576,
multiple: true,
autoUpload: true
});