将base64编码图像上传到twiiter

时间:2016-01-08 13:30:25

标签: node.js twitter

我正在使用Twitter模块将nodejs上传媒体到我的Twitter帐户。作为此处的示例程序https://github.com/desmondmorris/node-twitter/tree/master/examples#media

我没有使用系统中的图像,而是传递了图像的base64编码字符串。当我运行这个程序时,它会在一个循环中在控制台中输出base64字符串staff,一段时间后它会崩溃并且不会上传我的图像。

(image)

所以我尝试了不同的方法。我将base64编码图像保存到// Load your image var data = require('fs').readFileSync(image); // Make post request on media endpoint. Pass file data as media parameter client.post('media/upload', {media: image}, function(error, media, response){ if (!error) { // If successful, a media object will be returned. console.log(media); // Lets tweet it var status = { status: 'I am a tweet', media_ids: media.media_id_string // Pass the media id string } client.post('statuses/update', status, function(error, tweet, response){ if (!error) { console.log(tweet); } }); } else{ console.log("error upload"); } });

out.png

这个代码输出错误说

  

错误:ENOENT:没有这样的文件或目录,打开' D:\ Local server \ nodejs \ out.png'

此文件确实存在我已确认

更新

Api返回fs.writeFile("out.png", data.image, 'base64', function (err) { console.log(err); }); var data = require('fs').readFileSync("out.png");

1 个答案:

答案 0 :(得分:0)

嗨,有几个nodejs api允许作为Twitter的客户端库,您可以使用它来将您的媒体上传到您的Twitter帐户,最受欢迎的twitterare node-twitter-api