如何在Angular中按顺序上传文件?

时间:2018-04-30 15:17:08

标签: html angular azure angular5

我目前有一个将多个文件上传到Azure Blob存储的解决方案,但进度条在每个文件后都不会重置(保持在100)。

我知道你可以使用Promise,但我是Angular的新手并且不知道如何最好地接近它?

这是我当前的代码(可行),它将文件存储在数组中

uploadFiles()   {

while (this.targetFiles.length > 0)
{
    this.targetFile = this.targetFiles.pop();
    this.uploadProgress = this.blob
    .uploadToBlobStorage(accessToken, this.targetFile);


    this.currentPageSub = 
    this.uploadProgress.subscribe((total: number) => {
      this.progress=total;
          });

} 

}

但我想一次上传一个文件,在上传文件后重置订阅功能中的进度条(this.progress)

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您应该在每个周期重置进度。

 while (this.targetFiles.length > 0)
{
    this.progress=0;
    this.targetFile = this.targetFiles.pop();
    this.uploadProgress = this.blob
    .uploadToBlobStorage(accessToken, this.targetFile);


    this.currentPageSub = 
    this.uploadProgress.subscribe((total: number) => {
      this.progress=total;
          });

 } 
}