Я хочу скачать большой файл, используя почтовый запрос.Мне нужно добавить несколько заголовков авторизации, поэтому я хочу использовать пост-запрос
this.http.post(request).subscribe(
(response: HttpResponse) => {
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:'+contentType+',' + encodeURI(response.body);
hiddenElement.target = '_blank';
document.body.appendChild(hiddenElement);
hiddenElement.click();
document.body.removeChild(hiddenElement);
},
err => {this.log(err); console.log('error is ', err); },
);
Я использую приведенный выше фрагмент кода для загрузки файла.Он отлично работает для небольших файлов, но не для больших файлов.
Здесь ответ не передается функции наблюдателя, пока не будут получены все данные с сервера.
Таким образом, он не сразу открывает всплывающее окно длясохранить файл, а затем извлечь данные (что является ожидаемым поведением). Вместо этого он выбирает все данные, а затем появляется всплывающее окно для сохранения файла, а затем содержимое сохраняется.
Поэтому я хочу, чтобы появилось всплывающее окно и загрузка файла началась немедленнопосле того, как сервер отправит заголовки ответа и код состояния перед извлечением всех данных