Я использую asp. net core web API и angular 8. Я могу загрузить файл из приложения angular в azure хранилище через веб-API. Я также получаю прогресс загрузки из API. Затем API занимает огромное время для загрузки файла в azure хранилище. Тем временем angular end показывает 100% загрузки и кажется мертвым. Как я могу показать фактический прогресс загрузки в angular end?
[HttpPost]
public ActionResult UploadFile([FromForm]FileModel model)
{
string uri = _blobService.UploadToStorage(model.File);
if (uri != null)
{
bool status = _context.SaveFileUri(model.Id, uri);
if (status)
{
return Ok();
}
return BadRequest();
}
return BadRequest();
}
Это мое действие API. _blobService.UploadToStorage () загружает файл в хранилище BLOB-объектов.
uploadFile(item: File){
const formData = new FormData();
formData.append('file', item);
formData.append('id', this.productId);
const req = new HttpRequest('POST', this.apiUrl , formData, {
reportProgress: true,
withCredentials: true
});
this.http.request(req).subscribe((event: HttpEvent<any>) => {
if (event.type === HttpEventType.UploadProgress) {
this.percent = (event.loaded / event.total!) * 100;
}
});
}
И это вызов API от angular end.