Node js:将数据输送到多个流

Node js: piping data to multiple streams

本文关键字:js 数据 Node      更新时间:2023-09-26

我正在使用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);
});