2014-10-02 5 views
0

기본적으로 내가하려는 것은 외부 소스에서 내 파일에 쓰기, 그 파일에서 읽기 및 일부 업데이트 된 스타일로 다시 쓰기입니다. 나는 이것을 이미지로하고있다. 예 코드 : 난 항상 오류가Nodejs 스트림 쓰기, 읽기, 쓰기

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 

이미지가 파일로 저장 않지만, 언제 내가 그것을 읽으려고 : {[오류 : 스폰 ENOENT] 코드 : 'ENOENT', errno를 'ENOENT', 콜 : '스폰'} - 해당 파일이 아직 없음을 의미합니다.

답변

0

파일을 만들기 전에이 파일을 읽으려고합니다. 파일이 먼저 종료를 기다리지보십시오 : 어떤 이유

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'); 
}); 
+0

을 내가 파일에 액세스하려고 할 때 나는 내 대답은 'close' 이벤트가 있습니다 업데이트 한 이유 –

+0

아무 생각이 작동하지 않습니다 backing 파일 기술자가 닫힌 이후로 더 나아질 것입니다. – mscdex

+0

아직 작동하지 않습니다! 아마도 라이브러리를 사용해야 할 것입니다. 아마 작동 할거야, 아니면 변환 스트림을 사용해야합니까? –