2016-04-06 4 views
0

リモート画像をダウンロードする必要があり、そのパスはwineTweet.label属性に保存されています。 そしてこの画像でつぶやくNodejs Streamを使ってリモート画像でツイートを効率的に投稿するにはどうすればいいですか?

私の実装はうまくいっていますが、私はまず画像をファイルに保存してから、それを読む前に読んでいます。ここで

はコードです:

var file = fs.createWriteStream("file.jpg"); 
    https.get(wineTweet.label, function (response) { 
     response.pipe(file); 
     file.on('finish', function() { 
      var data = require('fs').readFileSync('file.jpg'); 
      // Make post request on media endpoint. Pass file data as media parameter 
      client.post('media/upload', {media: data}, function (error, media, response) { 
       if (!error) { 
        // If successful, a media object will be returned.       // 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); 
        }); 
       } 
      }); 
     }); 
    }); 

直接POSTリクエストにReadingStreamを接続する方法は?無関係な注記で

https.get(wineTweet.label, function(res) { 
    // Make post request on media endpoint. Pass file data as media parameter 
    client.post('media/upload', {media: res}, function(error, media, response) { 
    if (!error) { 
     // If successful, a media object will be returned.       // 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); 
     }); 
    } 
    }); 
}); 

、あなたエラーを処理する適切代わりにそれらを無視すべきである:

+0

あなたはツイートを投稿するためにどのライブラリを使用していますか? – mscdex

+0

twitterパッケージ – Anthony

答えて

1

だけですでに読み込み可能なストリームである、代わりに書き込み/一時ファイルを読み込んで、直接responseを使用しています。

+0

が動作しています。これはデモ用のスニペットなので、エラーを処理します。 – Anthony

関連する問題