18

requestモジュールを使用して画像のダウンロードを保存しようとしています。これとともに

request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png')); 

それは正常に動作します。しかし、画像が完全にダウンロードされた後、何か他のことができるようにしたい. fs.createWriteStream にコールバック関数を提供するにはどうすればよいですか?

4

2 に答える 2

49

事前にストリームを作成してから、close イベントで何かを行いたいとします。

var picStream = fs.createWriteStream('doodle.png');
picStream.on('close', function() {
  console.log('file done');
});
request('http://google.com/images/logos/ps_logo2.png').pipe(picStream); 

これでうまくいくはずです。

于 2012-09-16T17:08:49.433 に答える