我有一个
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
我们将不胜感激。