使用 nodeJs 和 multer 将多部分数据发送到 springboot api

问题描述 投票:0回答:0

我有一个

nodejs
应用程序,它使用
multer
通过消费
springboot mutipart api

上传带有一些 json 对象的图像

springboot mutipart api
在邮递员测试时工作正常。

我有一个网页,我正在使用ajax上传图像,我可以在nodejs应用程序中正确接收它,但是当我进一步想将此数据发送到

springboot api
时,它会抛出错误
application/octet-stream not supported

这是我的nodejs代码

router.post('/saveProfile', multer.single('photo'), function (req, res, next) {
      const { buffer, originalname: filename } = req.file
      const form = new FormData();
      form.append('photo', buffer,filename);
      form.append('onboarding', req.body.onboarding);
      let url = constant.saveProfile;
      commonService.multipartCall(url, form, function (result) {
        res.send({ "result": result });
      });
});

这是

commonService
代码

var multipartCall = function(url,req,callback){
  try{  
  Request.post({
    preambleCRLF: true,
    postambleCRLF: true,
    "headers": {"Authorization":"xxxxx",'Content-Type': `multipart/form-data; boundary=${req._boundary}` },
    "url": url,
    timeout: 100000000,
    body:req,
}, (error, response, body) => {
    var response = JSON.parse(body);
    if(response.statusCode == 200){
      console.log(url+"---- POST call Success----- ");
      callback(response);
    }else{
      console.log(url+"---- POST CALL ERROR----- "+response.message);
      callback(response);
    }
});
}catch(error){
  console.log(url+"---- POST CALL ERROR----- "+error);
}
}

我试图在

content-type
中设置
form-data
但这也不起作用。 如果我从
content-type
中删除
commonService
然后我得到不同的错误
Content type '' not supported

我们将不胜感激。

node.js spring-boot multer
© www.soinside.com 2019 - 2024. All rights reserved.