загружайте файлы по одному в angular

#angular

#угловатый

Вопрос:

Я занят функцией загрузки видео в AWS.

Проблема, с которой я сталкиваюсь, заключается в том, что в настоящее время он загружает все видео одновременно, однако это затрудняет отслеживание прогресса каждого видео и обработку ошибок.

Таким образом, я хотел бы загружать видео по одному и в случае успеха или неудачи начинать загрузку нового файла.

Вот мой текущий код:

 public handleFileInput($event: any) {
    // loop through files
    for (let i = 0; i < $event.target.files.length; i   ) {
      this.file = $event.target.files;
      // set state
      this.uploading = true;
      // get target to clear later
      this.target = $event.target || $event.srcElement;
      // build file object to get signedUrl
      this.newFile = {
        name: this.file[i].name,
        size: this.file[i].size,
        type: this.file[i].type
      };
     //  get signedUrl per file
      this._mediaMaterialService.getSignedUrl(this.newFile)
        .subscribe((signedUrl: any) => {
          // subscription to keep track of upload progress
          this._upload$ = this._mediaMaterialService.uploadLargeVideo(signedUrl.signedKey, this.file[i], this.file[i].type)
          .subscribe((res: any) => {
            console.log(res);
          });
        });
    }
  }