我正在使用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'时,它给出了未定义的数据。