Works with any backend npm install Zero dependencies

Minimal Setup

The absolute minimum: an empty div and one constructor call. The component auto-generates all markup.

(function() {
 new MultipleUpload('#demo', {
 uploadUrl: '/api/upload',
 multiple: true
 });
})();

Everything the component needs

A container and a URL. There is no build step, no framework and no runtime dependency: point uploadUrl at an endpoint that accepts multipart/form-data and the uploader renders its own button, drop zone, queue and progress.

The two defaults to know before you start

multiple is false, so a multi-file uploader has to ask for it explicitly — this demo does. And autoUpload is true, so files start transferring the moment they are selected; set it false when the user should review the queue and press a button first.

uploadUrl itself defaults to /api/upload. It is written out here because an endpoint that silently defaults is the kind of thing that works on the demo and fails in your application.