请问如果用nodejs通过post发送multipart/form-data类型的http请求?
网络上搜索的都是解析multipart/form-data表单的,express已经提供了较好的支持,那NODEJS如果后台模拟发送multipart/form-data类型消息呢?上传个图片给接口方。
比如如何在后台用https.request模拟类似请求?纠结几天了,请大侠帮帮忙哦。
<form name='sendMsgToWxByPost' action='https://api.com/media?access_token=AAA' method="post" enctype="multipart/form-data" >
<input type="file" name="media" /> </form>
我知道application/x-www-form-urlencoded类型的请求是这样模拟的。
var post_data = querystring.stringify({
type : "text",
content: content
});
//1、创建消息
var options = {
host: 'api.com',
port: 443,
path: '/messages?access_token='+accessToken,
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length
}
};
var reqHttps = https.request(options, function(resHttps) {
console.log("statusCode: ", resHttps.statusCode);
console.log("headers: ", resHttps.headers);
resHttps.setEncoding('utf8');
resHttps.on('data', function(body1) {
console.log("body:"+body1);
}
// write data to request body
reqHttps.write(post_data);
reqHttps.end();
reqHttps.on('error', function(e) {
console.error("error:"+e);
return "系统异常:"+e.message;
});