gpt4 book ai didi

Angular HttpClient HttpErrorResponse JSON 中的意外 token 位于位置 0

转载 作者:行者123 更新时间:2023-12-04 16:03:43 30 4
gpt4 key购买 nike

我有一个 angular 7 应用程序 POST-ing 一个 excel 文件并期望从我的 Express 服务器返回一个 excel 文件,如下所示:

myAngular.service.ts

const url = 'myEndpoint';
const formData: FormData = new FormData();
formData.append('xlsx', postedExcelFile, 'myFilename');
const httpOptions = {
headers: new HttpHeaders({
responseType: 'blob'
})
};
return this.http.post(url, formData, httpOptions);

这是来自发送文件的 Express 服务器的代码:

server.js
res.download(pathToMyFile);

在前端,响应是 HttpErrorResponse和错误状态:
SyntaxError: Unexpected token P in JSON at position 0

我可以看到错误文本的内容是Excel文件的内容,这意味着该文件确实被发送回浏览器。但是,出于某种原因,Angular 似乎期待 JSON 并尝试解析它。

如您所见,我添加了 responseType: 'blob' POST 请求的 header ,以便它可以期待文件返回,但我仍然收到此错误。有什么我忘记添加到帖子请求中的吗?

最佳答案

响应类型未输入 headers
将它们发送为:

this.http.post(url, formData,  {headers: yourHeaders, responseType: 'blob'});

关于Angular HttpClient HttpErrorResponse JSON 中的意外 token 位于位置 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53769420/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com