Загрузите несколько файлов, используя предварительно подписанную ссылку S3 в моем приложении Angular - PullRequest
0 голосов
/ 22 мая 2019

Я делаю вызов 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 не помогло.

Благодарим Вас за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...