Angular 下载文件后出错-角度
我有一个执行数据下载的函数。它生成一个.xlsx文件。它按预期工作。功能是Angular 下载文件后出错-角度,angular,typescript,download,blob,arraybuffer,Angular,Typescript,Download,Blob,Arraybuffer,我有一个执行数据下载的函数。它生成一个.xlsx文件。它按预期工作。功能是 public downloadData(employeesFiltered: boolean){ this.DataService.getDataDownload(this.DataService.getDataObject(), employeesFiltered) .subscribe((data: Response) => { let fileName = this.utility.getFileNam
public downloadData(employeesFiltered: boolean){
this.DataService.getDataDownload(this.DataService.getDataObject(), employeesFiltered)
.subscribe((data: Response) => {
let fileName = this.utility.getFileName(data.headers);
let contentType = this.utility.getContentType(data.headers);
let blob: Blob = new Blob([data.arrayBuffer()], {type: contentType});
console.log(blob);
let a = window.document.createElement("a");
a.href = window.URL.createObjectURL(blob);
a.download = fileName;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
问题是,完成后,无论我在应用程序中做什么,它都会抛出一个错误
RangeError:UINT16数组的字节长度应为2的倍数
而且
SyntaxError:意外标记筛 在JSON中的位置0
记录在下面
不知何故,下面对API的调用似乎已损坏
任何帮助都将不胜感激 问题不应该与下载本身有关,而应该与您处理异常的方式有关。我想,这与这个错误有关。json不是一个函数
我发现这可能就是您需要的。您可以尝试使用
data:Response
的body
类似的let blob:blob=new blob([data['''u body']],{type:contentType})代码>?不。相同的结果。backend.service.ts
的第204行有什么内容?你的程序似乎在抱怨这行指令的语法。我知道异常处理得不好,但这不是问题所在。但是你能展示一下你的服务代码吗?