簡體   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