繁体   English   中英

Node.js流写入,读取,写入

[英]Nodejs streams Write, Read, Write

基本上,我想做的是从外部源写入文件,从该文件读取,然后以某种更新的样式重新写入该文件。 我正在对图像执行此操作。 防爆码:

var rawImg = urlHtml('img').attr('src'); // got the image from a website! 

var wStream = request(rawImg).pipe(fs.createWriteStream(__dirname + '/public/img/test.jpg')); //write img to file

var rStream = fs.createReadStream(__dirname + '/public/img/test.jpg', {encoding: 'base64'}); // read img from file
var wStream2 = fs.createWriteStream(__dirname + '/public/img/test-result.jpg') // output

该图像确实保存到文件中,但是每当我尝试读取该图像时,我总会收到错误:{[错误:spawn ENOENT]代码:'ENOENT',errno:'ENOENT',系统调用:'spawn'} –这意味着它没有即使在那里

您正在尝试在文件创建之前读取文件。 尝试等待文件首先关闭:

var wStream = request(rawImg).pipe(fs.createWriteStream(__dirname + '/public/img/test.jpg'));

wStream.on('close', function() {
  var rStream = fs.createReadStream(__dirname + '/public/img/test.jpg', {encoding: 'base64'});
  var wStream2 = fs.createWriteStream(__dirname + '/public/img/test-result.jpg');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM