5

我有一个从音频源读取的流,我正在尝试将其存储到Buffer. 从我读过的文档中,您可以使用而不是文件路径pipe将流转换为一个。fs.createWriteStream(~buffer~)

我目前正在这样做:

const outputBuffer = Buffer.alloc(150000)
const stream = fs.createWriteStream(outputBuffer)

但是当我运行它时,它会抛出一个错误,Path: must be a string without null bytes说明文件系统调用。

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

4

1 回答 1

1

第一个参数fs.createWriteStream()是要读取的文件名。这就是您收到该特定错误的原因。

无法从流中直接读取到现有的Buffer. 有一个节点 EP来支持这一点,但它或多或少地消失了,因为它存在一些潜在的陷阱。

现在您需要手动复制字节,或者如果您不希望节点分配额外的缓冲区,则需要手动调用fs.open(), fs.read()(这是允许您传入Buffer实例的方法,以及偏移量) , 和fs.close().

于 2017-07-28T17:28:01.957 回答