2016-08-02 18 views
0

Ich versuche zu überprüfen, ob ein Pfad in einem übergeordneten Verzeichnis eine Datei oder ein Verzeichnis ist.Fehler beim Zugriff auf den übergeordneten Ordner in Electron/Node.js

Meine Dateisystem sieht wie folgt aus:

  • files/
    • html/
      • index.html
    • javascript/
      • index.js
    • Test/
      • test.jpg

Electron wird aus dem übergeordneten Verzeichnis von Dateien/gestartet. Mein Code in der Datei index.js:

console.log(`file://${__dirname}/../test/test.jpg`); 
console.log(fs.lstatSync(`file://${__dirname}/../test/test.jpg`).isFile()); 

Wenn ich Electron starten erhalte ich zwei Nachrichten im Protokoll. Der erste ist der Pfad des Bildes, auf das ich zugreifen möchte (test.jpg). Wenn ich diesen Pfad in meinen Browser einfüge, wird das Bild angezeigt, also ist es der richtige Pfad. Aber die zweite Nachricht ist ein Fehler:

Uncaught Error: ENOENT: no such file or directory, lstat 

Und dann der gleiche Weg in einfachen Anführungszeichen (‚‘).

Ich hatte die index.js und die index.html-Datei im selben Pfad, aus dem das Elektron gestartet wurde (übergeordnete Ordner von Dateien /) und es funktionierte, so denke ich, dass es Probleme beim Zugriff auf einen übergeordneten Ordner hat . Wie kann ich das lösen?

Antwort

2

Der Knoten fs Modul mit Dateipfaden arbeitet, keine URLs, so benötigen Sie einen gültigen Pfad zu fs.lstatSync passieren:

fs.lstatSync(`${__dirname}/../test/test.jpg`).isFile() 
+0

Vielen Dank! – Alexander

Verwandte Themen