我无法使用node.js将超过5MB限制的gif和视频上传到Twitter

时间:2018-12-17 23:44:35

标签: node.js video twitter gif twitter-rest-api

我正在使用Twitter API使用此代码上传随机gif,我希望能够使用分块上传方法上传大于5MB的gif和视频,但找不到任何似乎可以在线运行的代码,并且即使尝试自己也没有结果。有人可以帮我吗?谢谢。

var fs = require('fs'),
path = require('path'),
Twit = require('twit'),
config = require(path.join(__dirname, 'config.js'));

var T = new Twit(config);

function random_from_array(images){
return images[Math.floor(Math.random() * images.length)];
}

function upload_random_image(images){
console.log('Opening an image...');
var image_path = path.join(__dirname, '/images/' + random_from_array(images)),
    b64content = fs.readFileSync(image_path, { encoding: 'base64' });

console.log('Uploading an image...');

T.post('media/upload', { media_data: b64content }, function (err, data, response) {
if (err){
  console.log('ERROR:');
  console.log(err);
}
else{
  console.log('Image uploaded!');
  console.log('Now tweeting it...');

  T.post('statuses/update', {
    media_ids: new Array(data.media_id_string)
  },
  function(err, data, response) {
      if (err){
        console.log('ERROR:');
        console.log(err);
      }
      else{
        console.log('Posted an image!');
      }
    }
  );
}
 });
}

fs.readdir(__dirname + '/images', function(err, files) {
  if (err){
console.log(err);
}
  else{
    var images = [];
   files.forEach(function(f) {
  images.push(f);
});

setInterval(function(){
  upload_random_image(images);
}, 1800000);
 }
});

0 个答案:

没有答案