Как скачать большой файл, используя почтовый запрос в угловых 6 - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу скачать большой файл, используя почтовый запрос.Мне нужно добавить несколько заголовков авторизации, поэтому я хочу использовать пост-запрос

 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); },
        );

Я использую приведенный выше фрагмент кода для загрузки файла.Он отлично работает для небольших файлов, но не для больших файлов.

Здесь ответ не передается функции наблюдателя, пока не будут получены все данные с сервера.

Таким образом, он не сразу открывает всплывающее окно длясохранить файл, а затем извлечь данные (что является ожидаемым поведением). Вместо этого он выбирает все данные, а затем появляется всплывающее окно для сохранения файла, а затем содержимое сохраняется.

Поэтому я хочу, чтобы появилось всплывающее окно и загрузка файла началась немедленнопосле того, как сервер отправит заголовки ответа и код состояния перед извлечением всех данных

...