Node.js中使用pipe拷贝大文件不能完全拷贝的解决办法

时间:2025-01-19 21:05:56

原来的代码如下:

var readable = fs.createReadStream( filepath );
var writable = fs.createWriteStream( outFilepath );
readable.pipe( writable );
doSomeThing();

但是这样的代码会导致在文件没有传输完成的情况下就执行了doSomeThing()

改成如下代码:

var readable = fs.createReadStream( filepath );
var writable = fs.createWriteStream( outFilepath );
readable.pipe( writable );
readable.on('close', ()=> { doSomeThing(); }) });

就可以了。