В моем приложении angular 7 у меня есть API, при вызове которого я буду загружать PDF.
Вот мои методы получения PDF:
getPdf() {
const payload = { applicantId: this.idHeader, codes:
this.codeHeader + ':0', genderType: this.gender, data: this.data }
this.service.getPdfConfirmationView(payload).subscribe((pdfResponse:
any) => {
let dataType = 'application/pdf';
let binaryData = [];
binaryData.push(pdfResponse);
let downloadLink = document.createElement('a');
downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: dataType }));
if (pdfResponse)
downloadLink.setAttribute('download', 'ConfirmationReport');
document.body.appendChild(downloadLink);
downloadLink.click();
})
}
Вот мой сервис для подключения к API
getPdfConfirmationView(payload) {
return this.http.get(environment.apiUrl +
'/v1/report/getPdfConfirmationView',
{ headers: this.getSearchApiHeaders(payload), responseType: 'blob' });
}
Это прекрасно работает в браузерах Chrome, яЯ могу нажать на ссылку и загрузить файл PDF на мой компьютер. Однако в Internet Explorer 11 появляется следующее сообщение об ошибке:
ERROR Error: Access is denied.
"ERROR"
[object Error]{description: "Access is d...", message: "Access is d...", name: "Error", number: -2147024891, stack: "Error: Acce..."}
[functions]
__proto__[object Error] {...}
description"Access is denied. ...
message"Access is denied. ...
name"Error"
number-2147024891
stack"Error: Access is denied. ...
Что можно сделать, чтобы решить эту проблему в браузерах IE?