2017-11-03 3 views
1

ich mit einem Problem in Nodejs.Here über das Konvertieren von Puffer in Strom ist der Code konfrontieren zu streamen:Wie Puffer konvertieren in NodeJS

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

Der Code eine Ausnahme auslösen:

TypeError: path must be a string or Buffer 

jedoch Das Dokument von Nodejs sagt, dass Buffer von fs.createReadStream() akzeptiert wird.

fs.createReadStream(path[, options])
  path <string> | <Buffer> | <URL>
  options <string> | <Object>

Jeder könnte die Frage beantworten? Vielen Dank!

+0

[möglich Duplikat] (https://stackoverflow.com/questions/45891242/how-to-pass-a- buffer-as-argument-von-fs-createadstream) –

+0

Danke, das ist genau das, was ich suche! – zhangjpn

Antwort

1

fs ist für Operationen im Dateisystem vorgesehen.
fs.createReadStream() erwarten Sie einen Pfad als erstes Argument, das ein Dateiname, eine URL einer Datei oder ein Dateipuffer sein könnte (wie es schön erklärt wird here). Sie übergeben ein Objekt {path:b}.

Wenn Sie mit der createReadStream() korrekte Syntax versuchen, werden die Fehler mehr klar:

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

console.log(readStream); 

// ReadStream { 
// ... 
// path: <Buffer 50 50 50 50>, 
// ... 
// } 
// 
// Error: ENOENT: no such file or directory, open 'PPPP' 
+0

Vielen Dank! Ich habe das Problem von Ihrem Link gelöst. – zhangjpn

+2

Ich bekomme diesen Fehler: 'Pfad muss eine Zeichenfolge ohne Null Bytes sein – Tobiq

Verwandte Themen