Я пытаюсь открыть PDF-файл на другой вкладке браузера, используя Angular 8. PDF-файл возвращается загрузочным API Spring в виде массива байтов:
@GetMapping(value = "/pdf")
public ResponseEntity<byte[]> beve(HttpServletRequest request) {
return new ResponseEntity<byte[]>(service.getPdf(request), HttpStatus.OK);
}
На стороне Angular, для службы:
getPdf(): any {
const httpOptions = {
'responseType' : 'arraybuffer' as 'json'
};
return this.http.get<any>(this.url + "/pdf", httpOptions);
}
И компонент, который его вызывает:
getPdf() {
this.service.getPdf().subscribe((response => {
const file = new Blob([response], { type: 'application/pdf' });
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(file, "app.pdf");
} else {
const fileURL = URL.createObjectURL(file);
window.open(fileURL);
}
}));
}
Однако, когда PDF-файл открывается в новой вкладке, я получаю эту ошибку:
Что я делаю не так?
Спасибо