Angular Download Большие капли - PullRequest
       14

Angular Download Большие капли

0 голосов
/ 18 октября 2018

У меня есть проблема, похожая на эта , когда я успешно загружаю большой двоичный объект, сгенерированный из серверной части через 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);
  })
}

Вот процесс:

  1. Пользователь нажимает кнопку загрузки
  2. GET-запрос с заголовками запускается до конца
  3. Как только я подписываюсь на ответ, большой двоичный объект сохраняется в памяти браузера.
  4. Когда BLOB-объект полностью сохраняется в браузере, начинается сохранение / загрузка

На шаге 3 возникает проблема.Этот снимок экрана devtools с перенесенными 108 МБ накапливается до размера файла (я скачал файл 100 МБ) до начала самой загрузки в файловую систему.

...