如何在Nodejs中将缓冲区转换为流

新手上路,请多包涵

我遇到了一个关于在 Nodejs 中将缓冲区转换为流的问题。代码如下:

 var fs = require('fs');
var b = Buffer([80,80,80,80]);
var readStream = fs.createReadStream({path:b});

代码引发异常:

 TypeError: path must be a string or Buffer

但是 Nodejs 的文档说 fs.createReadStream() 可以接受 Buffer。

fs.createReadStream(路径[,选项])

路径 <字符串> | <缓冲区> | <网址>

选项 <字符串> | <对象>

有人可以回答这个问题吗?非常感谢!

原文由 zhangjpn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 817
1 个回答

NodeJS 8+ 版本。将缓冲区转换为流

const { Readable } = require('stream');

/**
 * @param binary Buffer
 * returns readableInstanceStream Readable
 */
function bufferToStream(binary) {

    const readableInstanceStream = new Readable({
      read() {
        this.push(binary);
        this.push(null);
      }
    });

    return readableInstanceStream;
}

原文由 аlex dykyі 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题