我正在使用节点gm中间件,它具有调整大小和管道调整大小的图像的方法。当我调整图像大小时,我需要缓存它并将图像流回用户。我可以同时做这两件事吗?
要清楚我想要做的是gm(file).resize(...).pipe -> writeStream.pipe -> response
。这可能吗?
答案 0 :(得分:3)
您无法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);
});