2016-08-02 9 views
0

親ディレクトリのパスがファイルかディレクトリかを確認しようとしています。Electron/Node.jsの親フォルダにアクセスしようとするとエラーが発生する

は、私のファイルシステムは、次のようになります。

  • ファイル/
    • のhtml/index.htmlを
  • javascriptの
    • を/
      • のindex.js
    • テスト/
      • test.jpgは

電子は、ファイル/の親ディレクトリから開始されます。 index.jsファイルに私のコード:

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

私は電子を起動すると、私はログ内の2つのメッセージを取得します。最初のものは、アクセスしたい画像のパスです(test.jpg)。このパスをブラウザに貼り付けると画像が表示されるので、正しいパスです。 しかし、第2のメッセージは、エラーである:

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

そして単一引用符(「」)で同じパス。

index.jsとindex.htmlファイルは、電子が(ファイル/の親フォルダ)から開始された同じパスにあり、それがうまく機能していたので、親フォルダにアクセスする際に問題があると思います。 どうすればこの問題を解決できますか?

答えて

2

fsモジュールはファイルパスで動作するノードではなく、URLを、あなたはfs.lstatSyncに有効なパスを渡す必要があります。

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

はどうもありがとうございました! – Alexander

関連する問題