не удалось загрузить файл в угловых 5 - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь загрузить pdf-файл с URL-адреса в angular 5. Он хорошо работает в html, добавляя свойство url и «download» в тег «a». Когда я пытаюсь сделать то же самое в angular 5, но это не работает.

service.ts

pdfDownload() {
         var options = new RequestOptions({responseType: ResponseContentType.Blob });

        // Process the file downloaded
        return this.http.get('https://.....test.pdf', options);
    }

component.ts

this.rcycCommonService.pdfDownload().subscribe((res)=>{
        this.saveFile(res.blob());
    })
saveFile (blobContent)  {
        var blob = new Blob([blobContent], { type: 'application/pdf' });
        saveAs(blob,"mypdf.pdf");
    };

но он показывает следующие ошибки.

ERROR in src/app/rcyc-services/rcyc-common/rcyc-common.service.ts(426,137): error TS2345: Argument of type 'RequestOptions' is not assignable to parameter of type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'.
  Types of property 'headers' are incompatible.
    Type 'Headers' is not assignable to type 'HttpHeaders | { [header: string]: string | string[]; }'.
      Type 'Headers' is not assignable to type '{ [header: string]: string | string[]; }'.
        Index signature is missing in type 'Headers'.

Может ли кто-нибудь опубликовать правильный код для загрузки файла в угловых 5?

1 Ответ

0 голосов
/ 25 апреля 2018

это ошибка компиляции Typescript.Как говорится в ошибке, вторым параметром this.http.get должен быть Headers, HttpHeaders или объект с индексом строки (не RequestOptions).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...