我有一个执行数据下载的功能。它会生成.xlsx文件。它按预期工作。功能是
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:Uint16Array的字节长度应为2的倍数
而且,
SyntaxError:位于0的JSON中的意外标记
记录下面
不知何故,看起来以下对API的调用被破坏了。
任何帮助将不胜感激。
答案 0 :(得分:0)
问题应该与下载本身无关,而是与处理异常的方式有关。我想,这与此错误有关error.json is not a function
。
我发现这可能是你需要的answer。