Html 如何按顺序上传文件?

Html 如何按顺序上传文件?,html,angular,azure,angular5,Html,Angular,Azure,Angular5,我目前有一个将多个文件上载到Azure Blob存储的解决方案,但在每个文件之后进度条不会重置(保持在100) 我知道你可以用承诺,但我是个新手,不知道如何做到最好 这是我当前的代码,它将文件存储在一个数组中 上传文件() { } 但是我想一次上传一个文件,在上传文件后重置订阅功能中的进度条(this.progress) 有什么建议吗?您应该重置每个周期的进度 while (this.targetFiles.length > 0) { this.progress=0; t

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

我知道你可以用承诺,但我是个新手,不知道如何做到最好

这是我当前的代码,它将文件存储在一个数组中

上传文件() {

}

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


有什么建议吗?

您应该重置每个周期的进度

 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;
          });

 } 
}

你一开始有没有试过将这个.progress重置为0?我有这个,但它没有重置,这就是为什么我开始寻找承诺,如果我选择1个小文件和1个大文件,小文件会直接变为100,然后大文件变为0,然后订阅上没有显示任何进度,就像从console.log中看到的被重置一样似乎只是发送两个要上载的文件,而不是等待其中一个然后再执行另一个,我将尝试设置另一个SUVScript,但对于第二个文件,我想看看我是否可以同时跟踪这两个文件的进度。如果您可以创建一个stackblitz,这样我就可以更好地了解问题。将无法在stackblitz上显示上载,因为我必须为blob存储提供访问令牌,而且我真的不知道想让它公开。。。
 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;
          });

 } 
}