1. 程式人生 > >a標籤下載多個檔案

a標籤下載多個檔案

網上查詢的方法:

建立a標籤模擬點選事件

downloadMulti (name, url) {
        var aDom = document.createElement('a')
        var evt = document.createEvent('HTMLEvents')
        evt.initEvent('click', false, false)
        aDom.download = name
        aDom.href = '/file/download?file_path=' + url
        aDom.dispatchEvent(evt)
        aDom.click()
      },
其中/file/download?file_path= 是後臺寫的一個服務,只需要把連結拼好賦值給a標籤的href。然後呼叫 downloadMulti (name, url) 將檔名和連結傳入就OK了

 

 

專案中具體做法(AngularJs):

downloadFile: function (files) {
var aLink = document.createElement("a");
aLink.download = files[$scope.panel.fileNum].fileName;
aLink.href = files[$scope.panel.fileNum].location;
aLink.click();
$scope.panel.fileNum = $scope.panel.fileNum + 1;
//時間間隔,否則只會下載一個檔案
if ($scope.panel.fileNum < files.length ) {
$timeout(function () {
$scope.panel.downloadFile(files)
}, 1000);
} else {
$scope.panel.fileNum = 0;
}
}