Angular 9文件下载损坏

问题描述 投票:0回答:0

我正在使用Angular 9的HttpClient和File-Saver从服务器下载文件,目前我正在尝试下载Excel文件。

refindicateurService :

 downloadIndicateurById(indicateurCriteria: IndicateurCriteria): Observable<Response> {
      console.log(indicateurCriteria);
      return this.authHttp.post( this.settings.server.url + `/indicateur/reportingIndicateur`, indicateurCriteria , {responseType: 'blob'})
            .pipe(map(res => res));
  }

下载功能 :

downloadFile(response: Response) {
    console.log(response);
    var blob = new Blob([this.getResponseBody(response)], { type: response.type });
    this.removeBusy();
    // let fileName: any = response.headers.get("etag");
    importedSaveAs(blob, 'data.xslx');
  }

那我在这里叫它:

exportIndicateurAsXls(id) {
    let indicateurCriteria = new IndicateurCriteria();
    indicateurCriteria.id = id;
    this.addBusy();
    this.refindicateurService.downloadIndicateurById(indicateurCriteria)
      .subscribe(response => {
        this.downloadFile(response);
        this.removeBusy();
      }, error => this.showError(error.status, JSON.parse(JSON.stringify(error)).message));
  }

我下载了文件,但当使用'arraybuffer'时,它给出了未定义的数据。

post download httpclient angular9 filesaver.js
© www.soinside.com 2019 - 2024. All rights reserved.