我正在使用node gm中间件,它有一种方法来调整大小和管道调整大小的图像。当我调整图像的大小时,我需要缓存它并将图像流回给用户。我能同时做这两件事吗?
要清楚,我想做的是gm(file).resize(...).pipe -> writeStream.pipe -> response
。这可能吗?
你不能做writeStream.pipe()
,因为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);
});