У меня есть проблема, похожая на эта , когда я успешно загружаю большой двоичный объект, сгенерированный из серверной части через HTTP GET , но файл сохраняется в памяти браузера до начала загрузки,
Нет проблем при загрузке небольших файлов, но он не сразу скачивает файлы размером 100 Мб +.
Подписка на сам GET вызывает задержку сохранения больших файлов.
Я использую Angular 6 с бэкэндом хранилища объектов.Вот функция загрузки:
finalDownload(url: string) {
let headers = new HttpHeaders();
headers = headers.append('X-Auth-Token', token);
return this.http.get(url, { headers, responseType: 'blob' })
.subscribe(response => {
saveAs(response);
})
}
Вот процесс:
- Пользователь нажимает кнопку загрузки
- GET-запрос с заголовками запускается до конца
- Как только я подписываюсь на ответ, большой двоичный объект сохраняется в памяти браузера.
- Когда BLOB-объект полностью сохраняется в браузере, начинается сохранение / загрузка
На шаге 3 возникает проблема.Этот снимок экрана devtools с перенесенными 108 МБ накапливается до размера файла (я скачал файл 100 МБ) до начала самой загрузки в файловую систему.