Я пытаюсь последовательно загрузить файлы с помощью корзины prefetchedUrl в S3.
Функция generateUrl (), используемая для генерации уникального URL-адреса для каждого загружаемого файла. Для загрузки файлов требуется уникальный идентификатор (stati c) и имя файла
generateUrl(uniqueId, file) {
var ext = (file.name).split(/\.(?=[^\.]+$)/);
console.log(ext);
return this.http.get<any>(`${this.baseURL}/v1/secure/upload/signed/${uniqueId}?filename=${file.name}.${ext}`);
}
fileUpload (). Требуется уникальный URL-адрес, сгенерированный функцией generateUrl (), и файл для загрузки.
uploadFilesByLink(url, file) {
return this.http.put(url,file, {
headers: { "Content-Type": file.type },
reportProgress: true,
observe:'events'
})
}
Теперь я пытаюсь сделать -
this.filesArray.forEach((file,index)=>{
this.uploadsService.generateUrl(this.uniqueId, file)
.pipe(
concatMap(res1 => this.uploadsService.uploadFilesByLink(res1.url, file))
).subscribe(res2 => console.log(this.filesArray.indexOf(file),res2));
})
Но это загрузка файлы параллельно. Пожалуйста помоги. Я пробовал много решений в Google.