Node.js express js中的多部分表单数据抛出错误
我有一个用于角度应用程序的express代理服务器。从我向expressjs发出post请求开始,就有相同的formData发布到后端并得到500作为响应Node.js express js中的多部分表单数据抛出错误,node.js,angular,express,multipartform-data,content-type,Node.js,Angular,Express,Multipartform Data,Content Type,我有一个用于角度应用程序的express代理服务器。从我向expressjs发出post请求开始,就有相同的formData发布到后端并得到500作为响应 app.post('/upload', upload.any(), (request, response) => { const formData = new FormData({'file': request.file}); axios.post(loaderUrl + `/loads`, formData, {h
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"
app.post('/upload',upload.any(),(请求,响应)=>{
const formData=new formData({'file':request.file});
post(loaderUrl+`/loads`,formData,{headers:formData.getHeaders()})
。然后(resp=>{
响应发送(响应数据)
})
.catch(错误=>{
响应。发送(错误);
});
});
此处request.file={
字段名:“文件”,
原始名称:“Sample.xlsx”,
编码:“7bit”,
mimetype:'application/vnd.openxmlformats of icedocument.spreadsheetml.sheet',
缓冲区:,
尺码:46894
}
后端错误日志:“org.springframework.web.multipart.MultipartException:当前请求不是多部分请求”
您需要传递内容类型标题
headers: {
Content-Type: multipart/form-data,
formData.getHeaders()
}
上面的错误清楚地表明,您发送到服务器的请求不是所需的确切类型。请求应明确说明其类型,即多部分
您可以通过替换这一行代码来实现这一点
axios.post(loaderUrl + `/loads`, formData, {headers:formData.getHeaders()})
与
axios.post(loaderUrl + `/loads`, formData, {headers:formData.getHeaders()})
axios.post(loaderUrl + `/loads`, formData, {headers: {'Content-Type': 'multipart/form-data'}})