Skip to content

mmiszy/multi-download

 
 

Repository files navigation

multi-download

Download multiple files at once

It works by abusing the a-tag download attribute and falling back to iframes on older browsers.

Install

$ npm install --save multi-download

Usage

<button id="download-btn" data-files="unicorn.jpg rainbow.jpg">Download</button>
document.querySelector('#download-btn').addEventListener('click', function (e) {
	var files = e.target.dataset.files.split(' ');
	multiDownload(files);
});
// with jQuery
$('#download-btn').on('click', function () {
	var files = $(this).data('files').split(' ');
	multiDownload(files);
});

API

multiDownload(urls)

urls

Type: array

URLs to files you want to download.

Caveats

Chrome will ask the user before downloading multiple files (once per domain).

For the fallback to work you need to make sure the server sends the correct header for the browser to download the file rather than displaying it. This is usually achieved with the header Content-Disposition: attachment; filename="<file name.ext>" .

License

MIT © Sindre Sorhus

Packages

No packages published

Languages

  • JavaScript 81.7%
  • HTML 18.3%