1. ホーム
  2. javascript

[解決済み] ボタンをクリックすると、複数のファイルをダウンロードできるようにするにはどうすればよいですか?

2022-02-18 18:50:31

質問内容

httpdサーバーを走らせていて、そのサーバーにはたくさんのファイルへのリンクがあります。 ユーザーがファイルリストから3つのファイルを選択し、ダウンロードするとします。

mysite.com/file1 
mysite.com/file2
mysite.com/file3

ダウンロードボタンをクリックすると、上のリンクから3つのファイルをダウンロードしてほしいのです。

私のダウンロードボタンは次のようなものです。

var downloadButton = new Ext.Button({
  text: "Download",
  handler: function(){
    //download the three files here
  }
});

解決方法は?

一番良い方法は、ファイルをzipで圧縮して、そこにリンクを張ることです。

もう一つの解決策は、こちらでご紹介しています。 リンクをクリックすると複数のページが開くようにするには

という記載があるもの。

HTMLです。

<a href="#" class="yourlink">Download</a>

JSです。

$('a.yourlink').click(function(e) {
    e.preventDefault();
    window.open('mysite.com/file1');
    window.open('mysite.com/file2');
    window.open('mysite.com/file3');
});

とはいえ、この実装はJavaScriptを必要とし、またポップアップとしてブロックされることもあるので、私ならファイルをzipで圧縮することをお勧めします。