javascript - Node js : piping data to multiple streams

标签 javascript node.js stream pipe

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

关于javascript - Node js : piping data to multiple streams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813466/

相关文章:

c# - 压缩网络流设计

javascript - catch javascript 的意外 token 错误

javascript - 表单内的 jQuery DOM 未在 for 循环中更新

javascript - react useEffect Hook 与长时间运行的任务和合并状态

node.js - Windows 计算机上的 React-Starterify 项目,babel 不工作

javascript - react : POST and GET not found

javascript - fadeOut() 回调在淡入淡出完成之前完成

javascript - Babel 6 - 异步箭头函数 "this"指向函数

PHP stream_socket_accept 因阻塞 TLS 套接字而挂起

Node.js/了解 ReadStream.pipe 是否正在传输数据