我很沮丧,找不到解决的办法:
我正在使用angularjs和nodejs创建一个项目。我从节点js中的角边获取图像数据,并将该数据发送给进一步的api。我收到错误
{
"error": {
"detail": "Multipart form parse error - Invalid boundary in multipart: None"
}
}
以下是我在NodeJS端的代码:
var request = require('request');
console.log(req.files);
var data = {
website:'www.gamail.xom',
contact_number:'dsdsd',
services_offered:'dsadasd',
contact_name:'dasdas',
provider_category:'exchange',
email:'kk@gmail.com',
image:req.files
}
var api_url = global.common.base_url + 'vcard/1.0.0/visit_card/' + req.param('uuid') +'/';
request({
url: api_url,
method: 'PUT',
headers: {
'Content-Type': 'multipart/form-data',
'Authorization': 'Bearer '+req.cookies.apitoken
},
json: data
}, function(error, response, body) {
if(response.statusCode == 200 && !error){
res.end(JSON.stringify(body));
}else{
res.send(response.statusCode, { error: body });
}
});
}
在我得到的req.文件中
{ image:
[ { fieldName: 'image[0]',
originalFilename: 'icon_dd_chart_grey.png',
path: 'C:\Users\karakuma\AppData\Local\Temp\op74_gLSzPs-_49aT1GF0si
7.png',
headers: [Object],
size: 1474,
name: 'icon_dd_chart_grey.png',
type: 'image/png' } ] }
6条答案
按热度按时间pcrecxhr1#
尝试按如下方式定义内容类型。
我也面临着同样的问题,这对我来说在Python中很管用。
lsmepo6l2#
我在尝试上传文件时也遇到了这个问题。对我来说,问题在于FormData,它以
Object
的形式出现,而不是FormData instance
因此,我使用以下代码将对象转换为FormData:
并且刚刚执行了我的POST请求,在我的例子中使用的是Vue资源:
pgx2nnw83#
无需提及Header中的内容类型,FETCH()将自动检测其内容类型。
q3aa05254#
在连接到Django rest API的Angular 11中,我一直面临这个问题,我能够 curl 成这样的东西,以便上传带有表单的JSON:
但是我使用我的头作为httpOptions来获得该异常:
所以我刚刚注解掉了
content-type
,它看起来很聪明,他为你创建了标题,并将多部分与边界一起设置。有关这方面的更多信息,请访问:What is the boundary in multipart/form-data?
jk9hmnmh5#
iq3niunx6#
边界只是分隔多部分有效载荷的多个“部分”的“关键”。通常,像‘&’这样的代码就足以分隔变量,但您需要更独特的代码来分隔有效负载注解中的有效负载
您可以使用发送的数据中未出现的任何值。
注意:因为边界分隔符不能出现在被封装的主体部分中,所以用户代理必须谨慎地选择唯一的边界参数值。
最简单的边界分隔线可能类似于“-”,其闭合边界分隔线为“-”。