Не удалось загрузить документ PDF - Angular 8 - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь открыть 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-файл открывается в новой вкладке, я получаю эту ошибку:

enter image description here

Что я делаю не так?

Спасибо

...