第一个搞批量下载,请问一下,js循环批量下载文件,使用window.location.href下载,并不能全部下载,
batchDownloadFiles() {
this.selectData.forEach(item => {
const para = { networkNo: item };
batchSRODownload(para).then(res => {
console.log(res);
if (res) {
window.location.href = res.request.responseURL;
}
});
});
},
下载代码如上,但是比如说发了三个下载请求,经常只下载一个,有时又是下载两个,不能全部都下载,但是我看了每个请求的响应的都是可以下载的,单独下载也是没问题的,不知道是什么原因导致的,网上搜了下说这种方法有时可能会中断,不知道是不是这个原因,
后续改进,使用iframe来下载可以避免出现这个问题
batchDownloadFiles() {
this.selectData.forEach(item => {
const para = { networkNo: item };
batchSRODownload(para).then(res => {
console.log(res);
if (res) {
try {
var elemIF = document.createElement("iframe");
elemIF.src = res.request.responseURL;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
} catch (e) {}
}
});
});
},
window.open(url)