首页 > 解决方案 > 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"

标签: node.jsangularexpressmultipartform-datacontent-type

解决方案


您需要传递内容类型标头。

headers: {
Content-Type: multipart/form-data,
formData.getHeaders()

}


推荐阅读