Works with any backend npm install Zero dependencies

Basic Chunked Upload

Enable chunked uploading with chunked: true. Files are split into chunks and uploaded sequentially, enabling reliable large file uploads.

new MultipleUpload(document.getElementById('demo-basic-chunked'), {
 uploadUrl: '/api/upload',
 multiple: true,
 chunked: true
});

Splitting the file up

chunked defaults to false. Turned on, a file larger than chunkSize is sliced and sent as a sequence of smaller requests that the server reassembles. Files below the threshold still go in one piece — the component does not pay the overhead when there is nothing to gain.

What chunking buys

A dropped connection costs one chunk instead of the whole transfer, so a retry is cheap and resuming becomes possible at all. Just as importantly, no single request is large, so the body-size limits on your server and on every proxy in front of it stop being the ceiling on file size.

The server side is not automatic: it has to accept the chunk requests and reassemble them. The backends section has reference implementations, and the chunk endpoints are configurable when yours do not match the defaults.