Я загружаю файл на S3, используя предварительно заданный URL. Я строю свой запрос PUT в машинописи так:
const headers = new HttpHeaders({'Content-Type': 'text/csv'});
return new HttpRequest('PUT',presignedUrl,pathToLocalFile,{
headers: headers,
reportProgress: true,
});
Затем я подписываюсь на наблюдаемый HTTP-запрос, чтобы получать HttpEvents и работать с ними соответствующим образом (так как я включил reportProgress). Это все работает, но что странно, так это то, что в Chrome события следуют этой схеме:
Sent
UploadProgress
UploadProgress
... repeat until finished upload
Response
Тогда как в Firefox при загрузке того же файла события выглядят так:
Sent
UploadProgress
UploadProgress
... repeat until finished upload
ResponseHeader
DownloadProgress
Response
Почему в Firefox добавляются еще два события? Почему в мире я хотел бы событие "Прогресс загрузки"? Следует также отметить, что кроме типа события ResponseHeader и Response идентичны, а событие DownloadProgress в противном случае безвредно (я полагаю, что оно отображает только 0 прогресса).