将数据流写入缓冲对象

5
我有一个从音频源读取的流,我想将其存储到Buffer中。根据我所读的文档,您可以使用 fs.createWriteStream(~buffer~) 而不是文件路径将流传输到缓冲区。
目前我正在这样做:
const outputBuffer = Buffer.alloc(150000)
const stream = fs.createWriteStream(outputBuffer)

但是当我运行它时,它会抛出一个错误,称文件系统调用的路径:必须是不包含空字节的字符串

如果我误解了文档或者漏掉了一些明显的东西,请告诉我!

1个回答

1
fs.createWriteStream()的第一个参数是要读取的文件名。这就是你收到该特定错误的原因。
没有直接从流中读取到现有Buffer的方法。有一个节点EP支持此功能,但它基本上已经死了,因为它存在一些潜在的问题。
现在,您需要手动复制字节,或者如果您不想让节点分配额外的缓冲区,那么您需要手动调用fs.open()fs.read()(这是允许您传递Buffer实例以及偏移量的方法),以及fs.close()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接