Мой API генерирует PDF-файл и возвращает его. Заголовки, которые я получаю в почтальоне: ...
Content-Type →application/pdf
Content-Length →2099
Content-Disposition →attachment; filename=Ticket_20200409210413358621_Home_3.pdf
Cache-Control →public, max-age=43200
Expires →Fri, 10 Apr 2020 09:04:13 GMT
Access-Control-Allow-Origin →*
И я могу без проблем сохранить содержимое файла из почтальона.
Однако, когда я пытаюсь получить это в angular там Это проблема.
Я устанавливаю заголовки как ...
setRequestHeaderPDF() {
return new HttpHeaders({
'Authorization': 'Bearer ' + localStorage.getItem('id_token'),
'Content-Type': 'application/pdf',
'Accept': 'application/pdf'
})
}
Затем я пробую две разные вещи.
Сначала идет с responseType: 'blob'
. Это возвращает блоб без проблем. Проблема, как вы можете видеть выше, заключается в том, что имя файла находится в заголовках ответа. С ответом большого двоичного объекта я не могу получить заголовки.
Во-вторых, я не устанавливаю responseType и надеюсь получить его из текста / тела ответа, но это выдает следующую ошибку
сообщение: «Неожиданный токен% в JSON в позиции 0» стек: «SyntaxError: Неожиданный токен% в JSON в позиции 0↵ в JSON .parse () ↵ в XMLHttpRequest.l»
Итак, мой вопрос: как я могу получить файл из API и получить доступ к заголовкам и данным?