Как скачать PDF с byteArraay в угловых 6? - PullRequest
0 голосов
/ 25 сентября 2018

Я сейчас работаю в angular 6. Мне нужно скачать pdf файл с bytearray.когда я пытался скачать PDF-файл.он загружается, но когда я его открываю.это показывает ошибку.Пожалуйста, помогите мне с этим.

В download.component.ts я получаю ответ в виде двух значений.первый pdfname, второй pdfbytearray.я получаю эти значения из ответа компонента.

пример ответа:

{
pdfName: "test.pdf",
pdfByteArray: "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9Qcm9kdWNlcij"
}

download.service.ts:

    generatePdf(id) {
    const httpOptions = {
     'responseType': 'arraybuffer' as 'json'
    };
    return this.http.post<any>(URL.BASE_URL + 'application/generate?id='+ id,
     { httpOptions },
    );
   }

download.component.ts:

import { saveAs } from 'file-saver/FileSaver';
generatePdf() {
    this.downloadApiService.generatePdf('4')
    .subscribe( pdf => {
      console.log('pdf response: ', pdf);    
      var mediaType = 'application/pdf';
      var blob = new Blob([pdf.pdfByteArray], {type: mediaType});
      let fileName = pdf.pdfName;
      saveAs(blob, fileName);
    }, err => {
      console.log('Pdf generated err: ', JSON.stringify(err));
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...