[英]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.