node.js - express js中的多部分表单数据抛出错误
问题描述
我有一个用于角度应用程序的快速代理服务器。从角度我向expressjs发出发布请求,将相同的formData发布到后端并获得500作为响应。
app.post('/upload', upload.any(), (request, response) => {
const formData = new FormData({'file': request.file});
axios.post(loaderUrl + `/loads`, formData, {headers:formData.getHeaders()})
.then(resp => {
response.send(resp.data)
})
.catch(error => {
response.send(error);
});
});
Here request.file = {
fieldname: 'file',
originalname: 'Sample.xlsx',
encoding: '7bit',
mimetype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
buffer: <Buffer 50 6d 6c 20 ... 46844 more bytes>,
size: 46894
}
Backend error log: "org.springframework.web.multipart.MultipartException: Current request is not a multipart request"
解决方案
您需要传递内容类型标头。
headers: {
Content-Type: multipart/form-data,
formData.getHeaders()
}
推荐阅读
- c++ - 如何从c ++将root euid传递给shell脚本
- spring-boot - 在测试阶段,在 spring 上下文启动之前运行方法(在 spring 上下文初始化之前运行嵌入式服务)
- java - 打印 flink KeyedStream
- sql - 在子查询/加入 SQL 中需要帮助
- node.js - 为什么我在 heroku 上的应用程序在 30 秒后崩溃?
- azure-devops - Azure 工件中的层次结构/结构?
- asp.net-core - 本地模拟器上的 gRPC Xamarin 客户端拒绝从计算机连接到本地服务器
- terraform - 未设置 CSV 文件路径在 terraform 中显示错误
- angular - 使用从数组中单击 HostListener 获取角度组件中的特定 DOM 元素
- python - Pyinstaller - Python exe 运行时显示错误“无法执行脚本 pyi_rth_nltk”