Я делаю вызов API REST для получения массива предварительно подписанных URL-адресов из S3.Этими URL являются файлы, которые могут быть XML, CSV, JSON и т. Д.
Как зациклить загрузку файлов с этих URL-адресов, не открывая новую вкладку? Я не хочу использовать AWS SDK для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
не помогло.
Благодарим Вас за помощь.