2014-05-22 3 views
1

크기가 조정 된 이미지의 크기를 조정하고 파이핑하는 방법이있는 노드 gm 미들웨어를 사용하고 있습니다. 이미지의 크기를 조정할 때 이미지를 캐시에 저장하고 이미지를 사용자에게 다시 스트리밍해야합니다. 나는이 두 가지를 동시에 할 수 있습니까?노드 js : 데이터를 여러 스트림으로 파이핑

내가 원하는 것은 분명히 gm(file).resize(...).pipe -> writeStream.pipe -> response입니다. 이것이 가능한가?

답변

3

은 읽을 수있는 스트림이므로 writeStream.pipe()을 사용할 수 없습니다. 두 번 같이 파이프를 두 개 가져야합니다.

var resize = gm(file).resize(...).stream(); 
resize('data', function(data) { 
    response.write(data); 
    write_stream.write(data); 
}); 
resize('end', function(data) { 
    response.end(data); 
    write_stream.end(data); 
}); 
+0

이것은 실제로 나에게 통찰력을주었습니다. 내 유일한 문제는 이제 스트림을 두 번 읽었을 때 아무것도 얻지 못할 때입니다. – andre

+0

코드 예를 업데이트했습니다. 시도 해봐. – mscdex

+0

나를 위해 일한 것을 정확하게 업데이트했습니다. – andre