Works with any backend npm install Zero dependencies
onBeforeUpload Gate

Return false from onBeforeUpload to skip uploading a specific task.

(function() {
    var logEl = document.getElementById('log');
    function log(m) { var d = document.createElement('div'); d.className='pkg-log-entry'; d.textContent=m; logEl.appendChild(d); logEl.scrollTop=logEl.scrollHeight; }
    new MultipleUpload('#demo', {
        uploadUrl: '/api/upload',
        multiple: true,
        onBeforeUpload: function(task) {
            if (task.fileSize > 2 * 1024 * 1024) {
                log('BLOCKED: ' + task.fileName + ' is over 2MB, skipping upload');
                return false;
            }
            log('Uploading: ' + task.fileName);
        }
    });
})();