Javascript 下载文件时获取文件内容中的[object object]类型,而不是使用angular 7获取blob
使用Angular 7,我通过get方法调用API,并尝试使用fileSaver库中的“saveAs”函数下载文件 当我从响应头获取文件名时,无法下载正确的文件并在文件内容中获取[Object Object],但只要使用虚拟名称,它就可以正常工作 它是组件文件:Javascript 下载文件时获取文件内容中的[object object]类型,而不是使用angular 7获取blob,javascript,css,json,angular,typescript,Javascript,Css,Json,Angular,Typescript,使用Angular 7,我通过get方法调用API,并尝试使用fileSaver库中的“saveAs”函数下载文件 当我从响应头获取文件名时,无法下载正确的文件并在文件内容中获取[Object Object],但只要使用虚拟名称,它就可以正常工作 它是组件文件: fileName:string=""; const MIME_TYPE ={ XLSX:'application/vnd.openxmlformats-officedocument.
fileName:string="";
const MIME_TYPE ={
XLSX:'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
TXT:'text/*',
PDF:'application/pdf'
}
downloadFile(){
this.DownloadService.downloadFile(
(data: any) => {
this.fileName=data.headers.get('fileName');
const EXT = this.fileName.substr(this.fileName.lastIndexOf('.')+1);
saveAs(new Blob([data],{type:MIME_TYPE[EXT]}),this.fileName);
}
);
}
下载服务文件
public downloadFile(callback: (responseData: any) => void): void {
this.apiService.downloadFile.subscribe((data: any) => {
if (callback) {
callback(data);
}
});
}
downloadFile(param: any): Observable<any> {
return this.http.get(api/download, {responseType:'blob',observe: 'response' });
}
apiService文件
public downloadFile(callback: (responseData: any) => void): void {
this.apiService.downloadFile.subscribe((data: any) => {
if (callback) {
callback(data);
}
});
}
downloadFile(param: any): Observable<any> {
return this.http.get(api/download, {responseType:'blob',observe: 'response' });
}