Works with any backend npm install Zero dependencies

Filter Files on Select

Use the onSelect callback to filter files before they enter the queue. This example rejects files larger than 5 MB and returns only the accepted files.

var maxSize = 5 * 1024 * 1024; // 5 MB

new MultipleUpload(document.getElementById('demo-filter'), {
 uploadUrl: '/api/upload',
 multiple: true,
 onSelect: function(files) {
 var accepted = [];
 var rejected = [];
 files.forEach(function(f) {
 if (f.size <= maxSize) accepted.push(f);
 else rejected.push(f.name);
 });
 var log = document.getElementById('filter-log');
 if (rejected.length) {
 log.textContent = 'Rejected (> 5 MB): ' + rejected.join(', ');
 } else {
 log.textContent = 'All ' + accepted.length + ' file(s) accepted.';
 }
 return accepted; // Only accepted files enter the queue
 }
});