2017-07-28 2 views
0

Ich habe einen Stream, der von einer Audioquelle gelesen wird, und ich versuche, es in einem Buffer zu speichern. Von der documentation, die ich gelesen habe, können Sie pipe den Stream in einen mit fs.createWriteStream(~buffer~) anstelle eines Dateipfads.Stream in Pufferobjekt schreiben

Ich tue dies derzeit als:

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

aber wenn ich es laufen, wirft es einen sagen, dass die Fehler Path: must be a string without null bytes für den Systemaufruf Datei.

Wenn ich die Dokumente falsch verstehe oder etwas Offensichtliches verpasse, lass es mich wissen!

Antwort

0

Der erste Parameter zu fs.createWriteStream() ist der zu lesende Dateiname. Deshalb erhalten Sie diesen speziellen Fehler.

Es gibt keine Möglichkeit, direkt aus einem Stream in einen vorhandenen Buffer zu lesen. Es gab a node EP, um dies zu unterstützen, aber es starb mehr oder weniger ab, weil es einige potentielle Fehler gibt.

Vorerst müssen Sie entweder die Bytes manuell kopieren oder wenn Sie Knoten zusätzliche Puffer zuweisen nicht möchten, müssen Sie manuell fs.open() aufrufen müssen, fs.read() (dies ist die Methode, die Sie in Ihrem Buffer passieren lässt Beispiel, zusammen mit einem Offset) und fs.close().

Verwandte Themen