Я постоянно борюсь со странной проблемой. Я думаю, что HttpClient по-прежнему обрабатывает ответ сервера как JSON ...
Запиши мой первый метод в @Component, но у меня все еще есть «ошибка» в консоли.
downloadDocument(url: string) {
this.client.download(url).subscribe(response => {
console.log('success');
}, error => {
console.log('error');
});
}
И методы из объекта 'client':
download(url: string): Observable<any> {
return this.httpClient.get(url, this.prepareDownloadHeaders());
}
private prepareDownloadHeaders() {
const token = this.authService.getToken();
return {
headers: new HttpHeaders({
'Authorization': 'Bearer ' + token,
})
};
}
И Chrome показывает, что я правильно получил файл:
Я пытался решить эту проблему многими способами, например, ниже и многое другое.
private prepareDownloadHeaders() {
const token = this.authService.getToken();
return {
headers: new HttpHeaders({
'Accept': 'application/pdf',
'Authorization': 'Bearer ' + token,
responseType: 'blob' as 'json'
})
};
}