2017-11-20 37 views
1

私は、サーバー側で処理するように選択された行( '/ salarypayments/generateGirofile')を送信する次の機能を備えており、クライアント側にファイルをダウンロードするためにURLを返します複数のファイルをダウンロード

ただし、1ファイルのダウンロードを開始できるのは2つのファイルがあるとします。配列応答には、次の属性があります。

{ link: 'http://127.0.0.1/folder/1/file1.txt', filename: 'file1.txt'} 
{ link: 'http://127.0.0.1/folder/1/file2.txt', filename: 'file2.txt'} 

答えて

-1

複数のダウンロードを一度に実行します。

var link = document.createElement("a"); 
 

 
response = [{ 
 
    "href" : "https://assets.babycenter.com/ims/2016/09/iStock_83513033_4x3.jpg", 
 
    "name" : "baby-1.jpg" 
 
},{ 
 
    "href" : "https://i.pinimg.com/736x/ea/97/16/ea97165480012b28ca1190e886239a0c--baby-costumes-photographing-babies.jpg", 
 
    "name" : "baby-2.jpg" 
 
},{ 
 
    "href" : "https://i.pinimg.com/736x/38/53/bf/3853bf5660dbb7abf589cee6d9060ccb--adorable-babies-cute-kids.jpg", 
 
    "name" : "baby-3.jpg" 
 
}] 
 

 
link.setAttribute('download', null); 
 
link.style.display = 'none'; 
 
document.body.appendChild(link); 
 
response.forEach(function(download){ 
 
    link.setAttribute('href', download.href); 
 
    link.setAttribute('download', download.name); 
 
    link.click(); 
 
}); 
 
document.body.removeChild(link);

+0

ファイルをビュン以外の方法はありますか? 私はユーザーのための余分なステップを作成したくないです。 – chris

+1

複数のファイルに対して複数のアンカーを作成し、すべてのアンカーを繰り返してクリックできます。理論的にこれは動作するはずです –

+0

これを行う方法の例を与えることができますか? – chris

関連する問題