管道不写入新的writeStream

时间:2019-06-06 05:16:11

标签: node.js

我尝试使用管道复制文件,但是运行代码后,只有一个空文件。在控制台中没有错误。

const writeStream = fs.createWriteStream( newLocation); // album1/fff28042018.jpg
writeStream.on('error', function(e){console.log(e)});

const readStream = fs.createReadStream(oldLocation); // imagesource/fff.jpg
readStream.on('error', function(e){console.log(e)});

readStream.pipe(writeStream);
writeStream.close();
readStream.close();

我希望将图像从imagesource / fff.jpg复制到新文件album1 / fff28042018.jpg。但最后我有了一个新的空文件album1 / fff28042018.jpg

在出现问题“是源文件存在”之前。

1 个答案:

答案 0 :(得分:0)

好像您要在数据传输完成之前关闭流。通常,当可读性完成管道传递时,它将在可写流上发出end,并且该流会自动关闭。

这是this答案中引用的最短的

fs.createReadStream('test.log').pipe(fs.createWriteStream('newLog.log'));