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