Ich habe einen Puffer aus einem base64 enconded Bild erstellt. Ich versuche, mit POST an einen Dienst mit fs. createReadStream (..) zu senden. (Anforderung (..)), aber erhalten Sie die folgende Fehlermeldung: fs. createReadStream () nimmt entweder einen String oder einen Puffer. Wenn es ein String ist, dann wird erwartet, dass es sich um einen Pfad zu einer Datei handelt. Es scheint mir, dass fs. createReadStream () versucht, das Argument als Zeichenfolge zu losen, die einen Pfad enthalt, obwohl es sich um einen Puffer handelt. Ist das ein Fehler in Nodes Buffer API vielleicht habe ich einen Node-Service mit Restify gebaut. Dieser Dienst hat einen Endpunkt, der ein Subjekt, eine Nachricht, einen Namen und eine base64-codierte Bilddatei (jpg, png usw.) enthalt. Nun wollen wir den Inhalt der Datei an einen Drittanbieterdienst mit JavaScript in Node schicken. Wenn ich oben auf diesem gelesen habe, gibt es einige Quellen, die sagen, da? ich einen lesbaren Strom mit einem Puffer-Gegenstand verursachen und es zur Anfrage senden sollte, die es zum Drittdienst sendet. Aus diesem Grund erstelle ich einen Puffer aus meinem base64-codierten Bild und sende ihn als Argument an fs. createReadStream, das ich dann zu einem Request-Objekt pfeife. Danach sollte ich in der Lage sein, einen lesbaren Stream aus einem Buffer zu erstellen: nodejs. org/api/fsfsfscreatereadstreampathions Und dementsprechend sollte ich das Anforderungsmodul verwenden konnen, um den Puffer auf eine POST-Anforderung zu routen: www. npmjs / Paket / Anfrage Zitat aus dem Anforderungsmodul docs: Sie konnen auch eine Datei auf eine PUT - oder POST-Anforderung streamen. Diese Methode uberpruft auch die Dateierweiterung gegen eine Zuordnung von Dateierweiterungen zu Inhaltstypen (in diesem Fall application / json) und verwendet den richtigen Inhaltstyp in der PUT-Anforderung (wenn die Header nicht bereits eine bereitstellen).Node. js V6.7.0 Dokumentation Inhaltsverzeichnis File System File I / O wird durch einfache Wrapper um Standard-POSIX-Funktionen bereitgestellt. Um dieses Modul zu verwenden, benotigen Sie (39fs39). Alle Methoden haben asynchrone und synchrone Formulare. Das asynchrone Formular nimmt immer ein Abschlussruckruf als sein letztes Argument. Die Argumente, die an den Abschluss-Ruckruf ubergeben werden, hangen von der Methode ab, aber das erste Argument ist immer fur eine Ausnahme reserviert. Wenn die Operation erfolgreich abgeschlossen wurde, wird das erste Argument null oder undefiniert. Bei Verwendung des Synchronformulars werden Ausnahmen sofort ausgelost. Sie konnen try / catch verwenden, um Ausnahmen zu behandeln oder sie zu sprudeln. Hier ist ein Beispiel fur die asynchrone Version: Hier ist die synchrone Version: Bei den asynchronen Methoden gibt es keine garantierte Bestellung. Das folgende ist anfallig fur Fehler: Es konnte sein, dass fs. stat vor fs. rename ausgefuhrt wird. Der richtige Weg, dies zu tun, ist die Kette der Ruckrufe. Bei stark frequentierten Prozessen wird der Programmierer stark ermutigt, die asynchronen Versionen dieser Aufrufe zu verwenden. Die synchronen Versionen blockieren den gesamten Prozess, bis sie abgeschlossen sind - und stoppen alle Verbindungen. Der relative Pfad zu einem Dateinamen kann verwendet werden. Beachten Sie jedoch, dass dieser Pfad relativ zu process. cwd () ist. Die meisten fs-Funktionen lassen Sie das Callback-Argument weglassen. Wenn Sie dies tun, wird ein Standardruckruf verwendet, der Fehler erneut ausfuhrt. Um einen Trace fur die ursprungliche Call-Site zu erhalten, setzen Sie die Umgebungsvariable NODEDEBUG: Puffer API fs-Funktionen unterstutzen Passing - und Empfangspfade sowohl als Strings als auch als Puffer. Letzteres soll es ermoglichen, mit Dateisystemen zu arbeiten, die nicht UTF-8-Dateinamen zulassen. Fur die meisten typischen Verwendungen wird das Arbeiten mit Pfaden als Buffers nicht erforderlich sein, da die Zeichenfolge-API automatisch zu und von UTF-8 konvertiert. Beachten Sie, dass Dateinamen auf bestimmten Dateisystemen (z. B. NTFS und HFS) immer als UTF-8 codiert werden. Auf solchen Dateisystemen funktioniert das Ubergeben von nicht-UTF-8-codierten Buffers an fs-Funktionen nicht wie erwartet. Klasse: fs. FSWatcher Objekte, die von fs. watch () zuruckgegeben werden, sind von diesem Typ. Der an fs. watch () ubergebene Listener-Ruckruf empfangt die zuruckgegebenen FSWatcher-Anderungsereignisse. Das Objekt sendet diese Ereignisse aus: Ereignis: 39change39 Wird ausgesendet, wenn sich etwas in einem uberwachten Verzeichnis oder einer Datei andert. Weitere Informationen finden Sie unter fs. watch (). Das Dateinamenargument kann je nach Betriebssystemunterstutzung nicht bereitgestellt werden. Wenn Dateiname angegeben wird, wird sie als Puffer bereitgestellt, wenn fs. watch () mit it39s encoding Option auf 39buffer39 gesetzt aufgerufen wird. Andernfalls ist filename ein String. Ereignis: 39error39 Wird ausgelost, wenn ein Fehler auftritt. Watcher. close () Wird ausgesendet, wenn der zugrundeliegende Deskriptor des WriteStream 39s mit der fs. close () - Methode geschlossen wurde. WriteStream. bytesWritten Die Anzahl der bis dahin geschriebenen Bytes. Enthalt keine Daten, die zum Schreiben noch in der Warteschlange stehen. WriteStream. path Der Pfad zu der Datei, in die der Stream geschrieben wird, wird wie im ersten Argument von fs. createWriteStream () angegeben. Wenn der Pfad als String ubergeben wird, dann ist writeStream. path ein String. Wenn der Pfad als Puffer ubergeben wird. Dann ist writeStream. path ein Puffer. Fs. access (Pfad, Modus, Ruckruf) Hinzugefugt in: v0.11.15 Testet eine User39s-Berechtigung fur die Datei oder das Verzeichnis, die durch den Pfad angegeben wird. Das Argument mode ist eine optionale Ganzzahl, die die durchzufuhrenden Zuganglichkeitsprufungen angibt. Die folgenden Konstanten definieren die moglichen Werte des Modus. Es ist moglich, eine Maske zu erstellen, die aus dem bitweisen OR von zwei oder mehr Werten besteht. Fs. constants. FOK - Pfad ist fur den aufrufenden Prozess sichtbar. Dies ist nutzlich fur die Bestimmung, ob eine Datei existiert, aber sagt nichts uber rwx Berechtigungen. Standard, wenn kein Modus angegeben ist. Fs. constants. ROK - Pfad kann von dem aufrufenden Prozess gelesen werden. Fs. constants. WOK - Pfad kann durch den Aufruf geschrieben werden. Fs. constants. XOK - Pfad kann vom aufrufenden Prozess ausgefuhrt werden. Dies hat keine Auswirkungen auf Windows (verhalten sich wie fs. constants. FOK). Das letzte Argument, Ruckruf. Ist eine Ruckruffunktion, die mit einem moglichen Fehlerargument aufgerufen wird. Wenn eine der Barrierefreiheitsprufungen fehlschlagt, wird das Fehlerargument gefullt. Im folgenden Beispiel wird uberpruft, ob die Datei / etc / passwd vom aktuellen Prozess gelesen und geschrieben werden kann. Verwenden Sie fs. access (), um die Zuganglichkeit einer Datei zu uberprufen, bevor Sie fs. open () aufrufen. Fs. readFile () oder fs. writeFile () wird nicht empfohlen. Dadurch wird eine Racebedingung eingefuhrt, da andere Prozesse den file39s-Zustand zwischen den beiden Aufrufe andern konnen. Stattdessen sollte der Benutzer-Code offnen / lesen / schreiben die Datei direkt und behandeln den Fehler, wenn die Datei nicht zuganglich ist. Schreiben (NICHT EMPFOHLEN) lesen (NICHT EMPFOHLEN) lesen Die empfohlenen Quot Beispiele oben uberprufen fur die Zuganglichkeit und verwenden Sie dann die Datei die quotrecommendedquot Beispiele sind besser, weil sie die Datei direkt verwenden und behandeln den Fehler, wenn uberhaupt. Uberprufen Sie grundsatzlich auf die Zuganglichkeit einer Datei nur, wenn die Datei nicht direkt verwendet wird, zum Beispiel wenn es sich um ein Signal eines anderen Prozesses handelt. Fs. accessSync (Pfad, Modus) Hinzugefugt in: v0.11.15 Synchrone Version von fs. access (). Dies wirft, wenn irgendwelche Zuganglichkeitsprufungen fehlschlagen, und tut nichts anderes. Fs. appendFile (Datei, Daten, Optionen, Ruckruf) Asynchrones Anhangen von Daten an eine Datei, Erstellen der Datei, wenn sie noch nicht existiert. Daten konnen ein String oder ein Puffer sein. Wenn options ein String ist, dann gibt er die Codierung an. Beispiel: Jeder angegebene Dateideskriptor muss zum Anhangen geoffnet worden sein. Hinweis: Wenn als Datei ein Dateideskriptor angegeben ist. Wird es nicht automatisch geschlossen. Fs. appendFileSync (Datei, Daten, Optionen) Die synchrone Version von fs. appendFile (). Ruckgabewerte undefined. Fs. chmod (Pfad, Modus, Ruckruf) Asynchronous chmod (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. chmodSync (Pfad, Modus) Synchronous chmod (2). Ruckgabewerte undefined. Fs. chown (Pfad, uid, Gid, Ruckruf) Asynchronous chown (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. chownSync (Pfad, uid, gid) Synchroner Chown (2). Ruckgabewerte undefined. Fs. close (fd, Ruckruf) Asynchronous close (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. closeSync (fd) Synchrones Schlie?en (2). Ruckgabewerte undefined. Fs. constants Gibt ein Objekt zuruck, das haufig verwendete Konstanten fur Dateisystemoperationen enthalt. Die derzeit definierten spezifischen Konstanten sind in FS-Konstanten beschrieben. Fs. createReadStream (Pfad, Optionen) Beachten Sie, dass der von dieser Methode zuruckgegebene Stream im Gegensatz zum Standardwert fur highWaterMark auf einem lesbaren Stream (16 kb) fur denselben Parameter einen Standardwert von 64 kb hat. Options ist ein Objekt oder eine Zeichenfolge mit den folgenden Standardwerten: Optionen konnen Start - und Endwerte enthalten, um einen Bytebereich anstelle der gesamten Datei zu lesen. Sowohl Anfang als auch Ende sind inklusive und beginnen bei 0. Die Kodierung kann jeder von denen sein, die von Puffer akzeptiert werden. Wenn fd angegeben wird, ignoriert ReadStream das Pfadargument und verwendet den angegebenen Dateideskriptor. Dies bedeutet, dass kein Ereignis 39open39 ausgesendet wird. Beachten Sie, dass fd sollte blockieren nicht blockieren fd s sollte an net. Socket ubergeben werden. Wenn autoClose false ist, dann wird der Dateideskriptor39 geschlossen, auch wenn there39s ein Fehler ist. Es ist Ihre Verantwortung, es zu schlie?en und sicherzustellen, dass there39s keine Datei descriptor Leck. Wenn autoClose auf true gesetzt ist (Standardverhalten), wird bei Fehler oder Ende der Dateideskriptor automatisch geschlossen. Modus setzt den Dateimodus (Permission und Sticky Bits), aber nur, wenn die Datei erstellt wurde. Ein Beispiel, um die letzten 10 Byte einer Datei zu lesen, die 100 Bytes lang ist: Wenn options eine Zeichenfolge ist, dann gibt sie die Codierung an. Fs. createWriteStream (Pfad, Optionen) Optionen ist ein Objekt oder eine Zeichenkette mit den folgenden Vorgaben: Optionen konnen auch eine Startoption enthalten, um das Schreiben von Daten an einer Stelle hinter dem Anfang der Datei zu ermoglichen. Das Andern einer Datei anstatt sie zu ersetzen, erfordert moglicherweise einen Flaggenmodus von r anstelle des Standardmodus w. Die DefaultEncoding kann einer von denen sein, die von Buffer akzeptiert werden. Wenn autoClose auf true (Standardverhalten) bei Fehler oder Ende gesetzt wird, wird der Dateideskriptor automatisch geschlossen. Wenn autoClose falsch ist, dann wird der Dateideskriptor39 geschlossen, auch wenn es einen Fehler gibt. Es ist Ihre Verantwortung, es zu schlie?en und sicherzustellen, dass there39s keine Datei descriptor Leck. Wie ReadStream. Wenn fd angegeben wird, ignoriert WriteStream das Pfadargument und verwendet den angegebenen Dateideskriptor. Dies bedeutet, dass kein Ereignis 39open39 ausgesendet wird. Beachten Sie, dass fd sollte blockieren nicht blockieren fd s sollte an net. Socket ubergeben werden. Wenn options ein String ist, dann gibt er die Codierung an. Fs. exists (path, callback) Hinzugefugt am: v0.0.2 Veraltet seit: v1.0.0 Testen Sie, ob der angegebene Pfad vorhanden ist, indem Sie mit dem Dateisystem uberprufen. Rufen Sie dann das Callback-Argument mit true oder false auf. Beispiel: Verwenden Sie fs. exists (), um die Existenz einer Datei zu uberprufen, bevor Sie fs. open () aufrufen. Fs. readFile () oder fs. writeFile () wird nicht empfohlen. Dadurch wird eine Racebedingung eingefuhrt, da andere Prozesse den file39s-Zustand zwischen den beiden Aufrufe andern konnen. Stattdessen sollte der Benutzer-Code offnen / lesen / schreiben die Datei direkt und behandeln den Fehler, wenn die Datei nicht vorhanden ist. Schreiben (NICHT EMPFOHLEN) lesen (NICHT EMPFOHLEN) lesen Die empfohlenen Quot Beispiele oben uberprufen fur Existenz und verwenden Sie dann die Datei die quotrecommendedquot Beispiele sind besser, weil sie die Datei direkt verwenden und behandeln den Fehler, wenn uberhaupt. Uberprufen Sie im Allgemeinen auf das Vorhandensein einer Datei nur, wenn die Datei nicht direkt verwendet wird, zum Beispiel wenn ihre Existenz ein Signal aus einem anderen Prozess ist. Fs. existsSync (path) Hinzugefugt am: v0.1.21 Veraltet seit: v1.0.0 Synchrone Version von fs. exists (). Gibt true zuruck, wenn die Datei existiert, andernfalls false. Fs. fchmod (fd, mode, callback) Asynchroner fchmod (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. fchmodSync (fd, mode) Synchrone fchmod (2). Ruckgabewerte undefined. Fs. fchown (fd, uid, gid, callback) Asynchrones fchown (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. fchownSync (fd, uid, gid) Synchronous fchown (2). Ruckgabewerte undefined. Fs. fdatasync (fd, Ruckruf) Asynchronous fdatasync (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. fdatasyncSync (fd) Synchronous fdatasync (2). Ruckgabewerte undefined. Fs. fstat (fd, Ruckruf) Asynchronous fstat (2). Der Ruckruf erhalt zwei Argumente (err, stats), wobei stats ein fs. Stats-Objekt ist. Fstat () ist identisch mit stat (). Au?er da? die Datei, die stat-ed ist, durch den Dateideskriptor fd spezifiziert wird. Fs. fstatSync (fd) Synchronous fstat (2). Gibt eine Instanz von fs. Stats zuruck. Fsfsync (fd, Ruckruf) Asynchronous fsync (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. fsyncSync (fd) Synchronous fsync (2). Ruckgabewerte undefined. Fs. ftruncate (fd, len, callback) Asynchrones ftruncate (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Wenn die Datei, auf die sich der Dateideskriptor bezieht, gro?er als len Bytes ist, werden nur die ersten len Bytes in der Datei beibehalten. Beispielsweise behalt das folgende Programm nur die ersten vier Bytes der Datei bei, wenn die Datei zuvor kurzer als len Bytes war, wird sie erweitert und der erweiterte Teil mit Nullbytes (39039) gefullt. Zum Beispiel sind die letzten drei Bytes Null-Bytes (39039), um die Ubertrunkierung zu kompensieren. Fs. ftruncateSync (fd, len) fd ltIntegergt len ??ltIntegergt default 0 Synchronous ftruncate (2). Ruckgabewerte undefined. Fs. futimes (fd, atime, mtime, callback) Andern Sie die Dateizeitstempel einer Datei, auf die der angegebene Dateideskriptor verweist. Fs. futimesSync (fd, atime, mtime) fd ltIntegergt atime ltIntegergt mtime ltIntegergt Synchrone Version von fsfutimes (). Ruckgabewerte undefined. Fs. lchmod (Pfad, Modus, Ruckruf) Veraltet seit: v0.4.7 Asynchronous lchmod (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Nur unter Mac OS X verfugbar. Fs. lchmodSync (Pfad, Modus) Veraltet seit: v0.4.7 Synchronous lchmod (2). Ruckgabewerte undefined. Fs. lchown (Pfad, uid, gid, callback) Veraltet seit: v0.4.7 Asynchronous lchown (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. lchownSync (Pfad, uid, gid) Veraltet seit: v0.4.7 Synchronous lchown (2). Ruckgabewerte undefined. Fs. link (srcpath, dstpath, callback) Asynchroner Link (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. linkSync (srcpath, dstpath) Synchroner Link (2). Ruckgabewerte undefined. Fs. lstat (Pfad, Ruckruf) Asynchronous lstat (2). Der Ruckruf erhalt zwei Argumente (err, stats), wobei stats ein fs. Stats-Objekt ist. Lstat () ist identisch mit stat (). Au?er, dass, wenn Pfad eine symbolische Verknupfung ist, dann die Verknupfung selbst ist stat-ed, nicht die Datei, auf die es verweist. Fs. lstatSync (Pfad) Synchronous lstat (2). Gibt eine Instanz von fs. Stats zuruck. Fs. mkdir (Pfad, Modus, Ruckruf) Asynchronous mkdir (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Modus auf 0o777. Fs. mkdirSync (Pfad, Modus) Synchronous mkdir (2). Ruckgabewerte undefined. Fs. mkdtemp (Prafix, Optionen, Ruckruf) Erstellt ein eindeutiges temporares Verzeichnis. Erzeugt sechs zufallige Zeichen, die hinter einem erforderlichen Prafix angehangt werden, um ein eindeutiges temporares Verzeichnis zu erstellen. Der erstellte Ordnerpfad wird als String an den zweiten Parameter callback39s ubergeben. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die zu verwendende Zeichencodierung angibt. Hinweis . Die fs. mkdtemp () - Methode fugt die sechs zufallig ausgewahlten Zeichen direkt an die Prafixzeichenfolge an. Zum Beispiel, wenn ein Verzeichnis / tmp. Wenn es darum geht, ein temporares Verzeichnis innerhalb von / tmp zu erstellen. Muss das Prafix mit einem nachlaufenden plattformspezifischen Trennzeichen enden (require (39path39).sep). Fs. mkdtempSync (Prafix, Optionen) Die synchrone Version von fs. mkdtemp (). Gibt den erstellten Ordnerpfad zuruck. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die zu verwendende Zeichencodierung angibt. Fs. open (Pfad, Flags, Modus, Ruckruf) Asynchrone Datei geoffnet. Siehe offen (2). Flags konnen sein: 39r39 - Datei zum Lesen offnen. Eine Ausnahme tritt auf, wenn die Datei nicht vorhanden ist. 39r39 - Datei zum Lesen und Schreiben offnen. Eine Ausnahme tritt auf, wenn die Datei nicht vorhanden ist. 39rs39 - Datei zum Lesen und Schreiben im Synchronmodus offnen. Weist das Betriebssystem an, den lokalen Dateisystemcache zu umgehen. Dies ist vor allem fur das Offnen von Dateien auf NFS-Mounts nutzlich, da es Ihnen ermoglicht, den potentiell veralteten lokalen Cache zu uberspringen. Es hat eine sehr reale Auswirkung auf I / O Leistung so don39t Gebrauch diese Markierungsfahne, es sei denn Sie sie benotigen. Beachten Sie, dass dies doesn39t fs. open () in einen synchronen blockierenden Anruf umwandelt. Wenn that39s, was Sie wollen, dann sollten Sie mit fs. openSync () 39w39 - Open-Datei zum Schreiben. Die Datei wird erstellt (falls nicht vorhanden) oder abgeschnitten (falls vorhanden). 39wx39 - Wie 39w39 aber schlagt fehl, wenn Pfad vorhanden ist. 39w39 - Datei zum Lesen und Schreiben offnen. Die Datei wird erstellt (falls nicht vorhanden) oder abgeschnitten (falls vorhanden). 39wx39 - Wie 39w39 aber schlagt fehl, wenn Pfad vorhanden ist. 39a39 - Datei zum Anhangen offnen. Die Datei wird erstellt, wenn sie nicht existiert. 39ax39 - wie 39a39 aber scheitert, wenn Pfad vorhanden ist. 39a39 - Datei zum Lesen und Anhangen offnen. Die Datei wird erstellt, wenn sie nicht existiert. 39ax39 - wie 39a39 aber scheitert, wenn Pfad vorhanden ist. Modus setzt den Dateimodus (Permission und Sticky Bits), aber nur, wenn die Datei erstellt wurde. Es ist standardma?ig auf 0666. lesbar und beschreibbar. Der Ruckruf erhalt zwei Argumente (err, fd). Das exklusive Flag 39x39 (OEXCL-Flag in open (2)) stellt sicher, dass der Pfad neu erstellt wird. Bei POSIX-Systemen wird der Pfad als vorhanden angesehen, auch wenn er ein Symlink zu einer nicht vorhandenen Datei ist. Das exklusive Flag funktioniert moglicherweise mit Netzwerkdateisystemen. Flags konnen auch eine Zahl sein, wie durch offene (2) haufig verwendete Konstanten von fs. constants dokumentiert. Unter Windows werden Flags zu ihren Aquivalenten, sofern zutreffend, ubersetzt, z. B. EIGENSCHAFT zu FILEGENERICWRITE. Oder OEXCLOCREAT an CREATENEW. Wie von CreateFileW akzeptiert. Unter Linux funktionieren Positionsschreibweisen nicht, wenn die Datei im Append-Modus geoffnet wird. Der Kernel ignoriert das Positionsargument und fugt die Daten immer an das Ende der Datei an. Hinweis: Das Verhalten von fs. open () ist fur bestimmte Flags plattformspezifisch. Als solches wird das Offnen eines Verzeichnisses auf OS X und Linux mit dem Flag 39a39 - siehe Beispiel unten - einen Fehler zuruckgeben. Im Gegensatz dazu wird unter Windows und FreeBSD ein Dateideskriptor zuruckgegeben. Fs. openSync (Pfad, Flags, Modus) Synchrone Version von fs. open (). Gibt eine Ganzzahl zuruck, die den Dateideskriptor reprasentiert. Fs. read (fd, Puffer, Offset, Lange, Position, Ruckruf) Daten aus der von fd spezifizierten Datei lesen. Puffer ist der Puffer, in den die Daten geschrieben werden. Offset ist der Offset im Puffer, um mit dem Schreiben zu beginnen. Length ist eine Ganzzahl, die die Anzahl der zu lesenden Bytes angibt. Position ist eine Ganzzahl, in der angegeben wird, wo in der Datei gelesen werden soll. Wenn Position Null ist. Werden die Daten aus der aktuellen Dateiposition gelesen. Der Ruckruf erhalt die drei Argumente (err, bytesRead, buffer). Fs. readdir (Pfad, Optionen, Ruckruf) Asynchronous readdir (3). Liest den Inhalt eines Verzeichnisses. Der Ruckruf erhalt zwei Argumente (err, files), wobei files ein Array der Namen der Dateien im Verzeichnis exklusive 39.39 und 39..39 sind. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die Zeichencodierung angibt, die fur die an den Callback ubergebenen Dateinamen verwendet wird. Wenn die Codierung auf 39buffer39 gesetzt ist. Werden die zuruckgegebenen Dateinamen als Pufferobjekte ubergeben. Fs. readdirSync (Pfad, Optionen) Synchrones Lesedir (3). Gibt ein Array von Dateinamen au?er 39.39 und 39..39 zuruck. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die Zeichencodierung angibt, die fur die an den Callback ubergebenen Dateinamen verwendet wird. Wenn die Codierung auf 39buffer39 gesetzt ist. Werden die zuruckgegebenen Dateinamen als Pufferobjekte ubergeben. Fs. readFile (Datei, Optionen, Ruckruf) Asynchron liest den gesamten Inhalt einer Datei. Beispiel: Der Ruckruf erfolgt uber zwei Argumente (err, data). Wobei data der Inhalt der Datei ist. Wenn keine Codierung angegeben ist, wird der Rohpuffer zuruckgegeben. Wenn options ein String ist, dann gibt er die Codierung an. Beispiel: Jeder angegebene Dateideskriptor muss das Lesen unterstutzen. Hinweis: Wenn als Datei ein Dateideskriptor angegeben ist. Wird es nicht automatisch geschlossen. Fs. readFileSync (Datei, Optionen) Synchrone Version von fs. readFile. Gibt den Inhalt der Datei zuruck. Wenn die Codierungsoption angegeben ist, gibt diese Funktion einen String zuruck. Ansonsten gibt es einen Puffer zuruck. Fs. readlink (Pfad, Optionen, Ruckruf) Asynchronous Link (2). Der Ruckruf erhalt zwei Argumente (err, linkString). Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die Zeichencodierung angibt, die fur den Linkpfad verwendet wird, der an den Ruckruf ubergeben wird. Wenn die Codierung auf 39buffer39 gesetzt ist. Wird der zuruckgegebene Linkpfad als Pufferobjekt ubergeben. Fs. readlinkSync (Pfad, Optionen) Synchroner Leselink (2). Gibt den symbolischen Link39s-Zeichenfolgenwert zuruck. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die Zeichencodierung angibt, die fur den Linkpfad verwendet wird, der an den Ruckruf ubergeben wird. Wenn die Codierung auf 39buffer39 gesetzt ist. Wird der zuruckgegebene Linkpfad als Pufferobjekt ubergeben. Fs. readSync (fd, Puffer, Offset, Lange, Position) Synchrone Version von fs. read (). Gibt die Anzahl BytesRead zuruck. Fs. realpath (Pfad, Optionen, Ruckruf) Asynchronous realpath (3). Der Ruckruf erhalt zwei Argumente (err, resolvedPath). Kann process. cwd verwenden, um relative Pfade zu losen. Es werden nur Pfade unterstutzt, die in UTF8-Strings konvertiert werden konnen. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, das die Zeichencodierung angibt, die fur den an den Callback ubergebenen Pfad verwendet wird. Wenn die Codierung auf 39buffer39 gesetzt ist. Wird der zuruckgegebene Pfad als Pufferobjekt ubergeben. Fs. realpathSync (Pfad, Optionen) Synchroner realer Pfad (3). Gibt den aufgelosten Pfad zuruck. Es werden nur Pfade unterstutzt, die in UTF8-Strings konvertiert werden konnen. Das optionale Optionsargument kann ein String sein, der eine Codierung angibt, oder ein Objekt mit einer Codierungseigenschaft, die die fur den zuruckgegebenen Wert zu verwendende Zeichencodierung angibt. Wenn die Codierung auf 39buffer39 gesetzt ist. Wird der zuruckgegebene Pfad als Pufferobjekt ubergeben. Fs. rename (oldPath, newPath, callback) Asynchroner Umbenennen (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. renameSync (oldPath, newPath) Synchronous Umbenennen (2). Ruckgabewerte undefined. Fs. rmdir (Pfad, Ruckruf) Asynchronous rmdir (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. rmdirSync (Pfad) Synchronous rmdir (2). Ruckgabewerte undefined. Fs. stat (Pfad, Ruckruf) Asynchronous stat (2). Der Ruckruf erhalt zwei Argumente (err, stats), wobei stats ein fs. Stats-Objekt ist. Weitere Informationen finden Sie im Abschnitt fs. Stats. Fs. statSync (Pfad) Synchronstatus (2). Gibt eine Instanz von fs. Stats zuruck. Fs. symlink (Ziel, Pfad, Typ, Ruckruf) Asynchronous symlink (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Das Argument Typ kann auf 39dir39 gesetzt werden. 39file39. Oder 39junction39 (Standard ist 39file39) und ist nur unter Windows verfugbar (auf anderen Plattformen ignoriert). Beachten Sie, dass Windows-Abzweigungspunkte den Zielpfad als absolut erfordern. Bei Verwendung von 39junction39. Wird das Zielargument automatisch auf den absoluten Pfad normiert. Hier ein Beispiel: Es wird ein symbolischer Link namens quotnew-portquot erstellt, der auf quotfooquot verweist. Fs. symlinkSync (Ziel, Pfad, Typ) Synchroner Symlink (2). Ruckgabewerte undefined. Fs. truncate (Pfad, len, Ruckruf) Asynchronous truncate (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Als erstes Argument kann auch ein Dateideskriptor ubergeben werden. In diesem Fall wird fs. ftruncate () aufgerufen. Fs. truncateSync (Pfad, len) Synchronous truncate (2). Ruckgabewerte undefined. Als erstes Argument kann auch ein Dateideskriptor ubergeben werden. In diesem Fall wird fs. ftruncateSync () aufgerufen. Fs. unlink (Pfad, Ruckruf) Asynchronous unlink (2). Dem Abschlussruckruf werden keine anderen Argumente als eine mogliche Ausnahme ubergeben. Fs. unlinkSync (Pfad) Synchronous Unlink (2). Ruckgabewerte undefined. Fs. unwatchFile (Dateiname, Listener) Stoppen Sie, auf Anderungen am Dateinamen zu achten. Wenn Listener angegeben ist, wird nur dieser bestimmte Listener entfernt. Andernfalls werden alle Zuhorer entfernt und Sie haben den Dateinamen effektiv beendet. Das Aufrufen von fs. unwatchFile () mit einem Dateinamen, der nicht beobachtet wird, ist ein no-op, kein Fehler. Hinweis: fs. watch () ist effizienter als fs. watchFile () und fs. unwatchFile (). Fs. watch () sollte statt fs. watchFile () und fs. unwatchFile () verwendet werden, wenn moglich. Fs. utimes (path, atime, mtime, callback) Andert die Zeitstempel der Datei, auf die der angegebene Pfad verweist. Anmerkung: Die Argumente atime und mtime der folgenden verwandten Funktionen folgen den folgenden Regeln: Wenn der Wert ein numerierbarer String wie 3912345678939 ist, wurde der Wert in die entsprechende Zahl konvertiert werden. Wenn der Wert NaN oder Infinity ist. Wurde der Wert auf Date. now () konvertiert werden. Fs. utimesSync (Pfad, atime, mtime) Synchrone Version von fs. utimes (). Ruckgabewerte undefined. Fswatch (Dateiname, Optionen, Listener) Dateiname ltStringgt ltBuffergt Optionen ltStringgt ltObjectgt persistent ltBooleangt Gibt an, ob der Prozess weiterhin ausgefuhrt werden soll, solange Dateien uberwacht werden. Default true rekursive ltBooleangt Gibt an, ob alle Unterverzeichnisse oder nur das aktuelle Verzeichnis uberwacht werden sollen. Dies trifft zu, wenn ein Verzeichnis angegeben ist und nur auf unterstutzten Plattformen (siehe Caveats). Default false encoding ltStringgt Gibt die Zeichenkodierung an, die fur den an den Listener ubergebenen Dateinamen verwendet wird. Default 39utf839 listener ltFunctiongt Watch auf Anderungen am Dateinamen. Wobei Dateiname entweder eine Datei oder ein Verzeichnis ist. Das zuruckgegebene Objekt ist ein fs. FSWatcher. Das zweite Argument ist optional. Wenn options als Zeichenfolge angegeben wird, gibt sie die Codierung an. Andernfalls sollten Optionen als Objekt ubergeben werden. Der Listener-Callback erhalt zwei Argumente (eventType, filename). EventType ist entweder 39rename39 oder 39change39. Und filename ist der Name der Datei, die das Ereignis ausgelost hat. Beachten Sie, dass der Listener-Callback an das 39change39-Ereignis angehangt ist, das von fs. FSWatcher ausgelost wird. Aber sie sind nicht dasselbe. Caveats Die fs. watch API ist nicht uber mehrere Plattformen hinweg einheitlich und in einigen Situationen nicht verfugbar. Die rekursive Option wird nur unter OS X und Windows unterstutzt. Verfugbarkeit Diese Funktion hangt vom zugrundeliegenden Betriebssystem ab, das eine Moglichkeit bietet, uber Dateisystemanderungen benachrichtigt zu werden. Auf Linux-Systemen verwendet dies inotify. Auf BSD-Systemen verwendet dies kqueue On OS X, das verwendet kqueue fur Dateien und FSEvents fur Verzeichnisse. Auf SunOS-Systemen (einschlie?lich Solaris und SmartOS) werden Ereignishafen verwendet. Auf Windows-Systemen hangt diese Funktion von ReadDirectoryChangesW ab. Bei Aix-Systemen ist diese Funktion von AHAFS abhangig. Die aktiviert werden mussen. Wenn die zugrundeliegende Funktionalitat aus irgendeinem Grund nicht verfugbar ist, dann kann fs. watch nicht funktionieren. Beispielsweise konnen Dateien oder Verzeichnisse auf Netzwerkdateisystemen (NFS, SMB usw.) oder Host-Dateisystemen bei der Verwendung von Virtualisierungssoftware wie Vagrant, Docker usw. unzuverlassig und in einigen Fallen unzuverlassig sein. Sie konnen weiterhin fs verwenden. watchFile. Das stat poll verwendet, aber es ist langsamer und weniger zuverlassig. Inodes Unter Linux und OS X-Systemen lost fs. watch () den Pfad zu einem Inode auf und beobachtet den Inode. Wenn der uberwachte Pfad geloscht und neu erstellt wird, wird ihm ein neuer Inode zugewiesen. Die Uhr wird ein Ereignis fur die Loschung aussenden, aber weiterhin die ursprungliche Inode beobachten. Ereignisse fur das neue Inode werden nicht emittiert. Dies ist das erwartete Verhalten. Dateinamen-Argument Das Dateinamen-Argument im Callback wird nur unter Linux und Windows unterstutzt. Auch auf unterstutzten Plattformen ist Dateiname nicht immer garantiert. Daher nehmen wir nicht an, dass das Dateinamen-Argument immer im Callback vorhanden ist und eine Ruckfalllogik haben, wenn es null ist. Fs. watchFile (Dateiname, Optionen, Listener) Achten Sie auf Anderungen am Dateinamen. Der Callback-Listener wird bei jedem Zugriff auf die Datei aufgerufen. Das Optionsargument kann weggelassen werden. Wenn vorgesehen, sollte es ein Objekt sein. Das Options-Objekt kann einen booleschen Namen persistent enthalten, der angibt, ob der Prozess weiterhin ausgefuhrt werden soll, solange Dateien uberwacht werden. Das Optionsobjekt kann eine Intervalleigenschaft angeben, die angibt, wie oft das Ziel in Millisekunden abgefragt werden soll. Die Voreinstellung ist. Der Listener erhalt zwei Argumente fur das aktuelle stat-Objekt und das vorherige stat-Objekt: Diese stat-Objekte sind Instanzen von fs. Stat. Wenn Sie benachrichtigt werden, wenn die Datei geandert wurde, nicht nur zugegriffen, mussen Sie curr. mtime und prev. mtime vergleichen. Anmerkung: Wenn eine fs. watchFile-Operation zu einem ENOENT-Fehler fuhrt, ruft sie den Listener einmal auf, wobei alle Felder auf Null gesetzt sind (oder fur Datumsangaben die Unix-Epoche). In Windows, blksize und blockiert Felder werden nicht definiert. Anstelle von null. Wenn die Datei spater erstellt wird, wird der Listener erneut mit den neuesten Stat-Objekten aufgerufen. Dies ist eine Anderung der Funktionalitat seit v0.10. Hinweis: fs. watch () ist effizienter als fs. watchFile und fs. unwatchFile. Fs. watch sollte statt fs. watchFile und fs. unwatchFile verwendet werden, wenn moglich. Fs. write (fd, Puffer, Offset, Lange, Position, Ruckruf) Schreibpuffer in die von fd spezifizierte Datei. Offset und Lange bestimmen den zu schreibenden Teil des Puffers. Position bezieht sich auf den Versatz vom Anfang der Datei, wo diese Daten geschrieben werden sollen. Wenn Typ von Position 39number39. Werden die Daten an der aktuellen Position geschrieben. Siehe pwrite (2). Der Ruckruf erhalt drei Argumente (err, written, buffer), wobei schriftlich angibt, wie viele Bytes aus dem Puffer geschrieben wurden. Beachten Sie, dass es unsicher ist, fs. write mehrere Male in der gleichen Datei zu verwenden, ohne auf den Ruckruf zu warten. Fur dieses Szenario wird fs. createWriteStream dringend empfohlen. Unter Linux funktionieren Positionsschreibweisen nicht, wenn die Datei im Append-Modus geoffnet wird. Der Kernel ignoriert das Positionsargument und fugt die Daten immer an das Ende der Datei an. Fs. write (fd, data, position, encoding, callback) Schreiben Sie die Daten in die von fd angegebene Datei. Wenn es sich nicht um eine Puffer-Instanz handelt, wird der Wert einer Zeichenfolge zugewiesen. Position bezieht sich auf den Versatz vom Anfang der Datei, wo diese Daten geschrieben werden sollen. Wenn Typ von Position 39number39 werden die Daten an der aktuellen Position geschrieben. Siehe pwrite (2). Codierung ist die erwartete Zeichenkodierung. Der Ruckruf erhalt die Argumente (err, written, string), wobei geschrieben wird, wie viele Byte die ubergebene Zeichenfolge geschrieben werden mussen. Beachten Sie, dass die geschriebenen Bytes nicht die gleichen sind wie Zeichenfolgenzeichen. Siehe Buffer. byteLength. Anders als beim Schreiben von Puffer. Muss die gesamte Zeichenfolge geschrieben werden. Es darf kein Teilstring angegeben werden. Dies liegt daran, dass der Byte-Offset der resultierenden Daten nicht derselbe wie der String-Offset sein darf. Beachten Sie, dass es unsicher ist, fs. write mehrere Male in der gleichen Datei zu verwenden, ohne auf den Ruckruf zu warten. Fur dieses Szenario wird fs. createWriteStream dringend empfohlen.