我正在进行REST API调用,以从S3获取一组预签名的URL。这些URL是可以是XML,CSV,JSON等的文件。
如何在不打开新标签的情况下从这些URL循环下载文件? 我不想使用AWS SDK for NodeJS来避免与前端紧密耦合。应用程序当前具有Angular 7,NodeJS和ExpressJS。
getFile(url, params){
this.awsservice.getFile(url, params).subscribe(
(response) => {
const res = JSON.parse(JSON.stringify(response));
var apiList = [];
for (var key in res) {
if(key == 'api'){
apiList = res[key];
}
}
apiList.forEach(function (url) {
// Logic to download file
document.location.assign(url) //Only seems to download the last file in the array
console.log("Download started: "+url);
});
},
(error) => {
this.tempErrorFlag = true;
const errorMsg = error;
console.log(`ERROR ::: reInitiate API ::: ${errorMsg.message}`);
});
}
我尝试添加document.location.assign(url)
,但似乎只下载了数组中的最后一个URL。甚至添加delay
也无济于事。
感谢您的帮助。