2012-09-16 16 views
11

Estoy intentando guardar una descarga de imagen con el módulo request. Con estoFunción de devolución de llamada después de que la imagen se descargó

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

Funciona bien. Pero quiero ser capaz de hacer algo más después de que la imagen se haya descargado por completo. ¿Cómo se puede proporcionar una función de devolución de llamada a fs.createWriteStream?

Respuesta

34

Quiere crear la transmisión antes de tiempo y luego hacer algo en el evento de cierre.

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); 

Esto debería hacerlo.

+0

Brillante. Funciona perfectamente. – saeed

Cuestiones relacionadas