Moo*_*ose 2 blob file-upload httprequest express angular
我有一个 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);
Run Code Online (Sandbox Code Playgroud)
这是来自发送文件的 Express 服务器的代码:
服务器.js
res.download(pathToMyFile);
Run Code Online (Sandbox Code Playgroud)
在前端,响应是 anHttpErrorResponse和错误状态:
SyntaxError: Unexpected token P in JSON at position 0
Run Code Online (Sandbox Code Playgroud)
我可以看到错误文本的内容是 Excel 文件的内容,这意味着该文件确实被发送回浏览器。但是,出于某种原因,Angular 似乎期待 JSON 并尝试解析它。
如您所见,我已将responseType: 'blob'标头添加到 POST 请求中,以便它可以期待文件返回,但我仍然收到此错误。有什么我忘记添加到帖子请求中的吗?
响应类型没有进入 headers
将它们发送为:
this.http.post(url, formData, {headers: yourHeaders, responseType: 'blob'});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6201 次 |
| 最近记录: |