multi-download

Download multiple files at once in the browser

  • 所有者: sindresorhus/multi-download
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

multi-download

Download multiple files at once in the browser

It works by abusing the a-tag download attribute.

Demo

Install

$ npm install multi-download

Note: This package targets the latest versions of Chrome, Firefox, and Safari.

Usage

<button id="download-button" data-files="unicorn.jpg rainbow.jpg">Download</button>
document.querySelector('#download-button').addEventListener('click', event => {
	const files = event.target.dataset.files.split(' ');
	multiDownload(files);
});
// With jQuery
$('#download-button').on('click', () => {
	const files = $(this).data('files').split(' ');
	multiDownload(files);
});
// With Blob
const unicorn = URL.createObjectURL(new Blob(['?'], {type: 'text/plain'}));
const goat = URL.createObjectURL(new Blob(['?'], {type: 'text/plain'}));
multiDownload([unicorn, goat]);

API

multiDownload(urls, options?)

Returns a Promise that resolves when all the downloads have started.

Note that there's a delay of 1 second between each download.

urls

Type: string[]

URLs to files you want to download. Can be absolute or relative, even cross-origin.

options

Type: object

rename

Type: Function

A function tht accepts an object containing url, index, and urls properties and is expected to return the new filename.

<button id="download-button" data-files="unicorn.jpg rainbow.jpg">Download</button>
document.querySelector('#download-button').addEventListener('click', event => {
	const files = event.target.dataset.files.split(' ');
	multiDownload(files, {
		rename: ({url, index, urls}) => 'New name.pdf'
	});
});

Caveats

If the user has enabled "Ask where to save each file before downloading" in Chrome, it will only download the first file.

主要指標

概覽
名稱與所有者sindresorhus/multi-download
主編程語言HTML
編程語言JavaScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2014-05-02 17:38:13
推送於2023-09-21 03:42:26
最后一次提交
發布數9
最新版本名稱v4.0.0 (發布於 2021-10-18 18:06:29)
第一版名稱0.1.0 (發布於 2014-05-02 19:40:18)
用户参与
星數570
關注者數13
派生數49
提交數33
已啟用問題?
問題數24
打開的問題數5
拉請求數7
打開的拉請求數0
關閉的拉請求數9
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?