我正在使用twit。更新状态(没有媒体)工作正常,但update with media无法正常工作 这是我的代码(与快递一起使用):
//client side
<form id="tweeter" action='/image' method='POST' >
<input type="text" name="tw" id="tw" />
<input type='file' name='img' id='img' />
<input type="submit" value="submit" />
</form>
//server side
app.post('/image',function(req,res){
var f= "./" +req.body.img;
console.log(req.body.img);
T.post('statuses/update_with_media',
{ status: req.body.tw, media: f },
function(err, reply) {
console.log('ERROR:' +err);
console.log('REPLY:' +reply);
}
);
});
我得到的错误是'缺少或无效的网址参数'
我应该如何通过media[]
发送图像文件?
答案 0 :(得分:1)
确保您的表单有enctype="multipart/form-data"
而不是req.body.img
尝试使用req.files.img
检查T.post想要的媒体参数输入类型,你可以试试base64
示例客户端代码:
<form id="tweeter" enctype="multipart/form-data" action='/image' method='POST' >
<input type="text" name="tw" id="tw" />
<input type='file' name='img' id='img' />
<input type="submit" value="submit" />
</form>
示例服务器代码:
app.post('/image',function(req,res){
var f = fs.readFileSync(req.files.img.path,'base64');
T.post('statuses/update_with_media', {status: req.body.tw, media:f}, function(err, reply) {
console.log('ERROR:'+err);
console.log('REPLY:'+reply);
});
});