0

パス画像を検証するための小さな関数を書きました:

var validateImage = function(image) {
  fs.stat('/images/' + image, function(err, stats) {
    if(stats.isFile()) {
      return true;
    }
  });
};

"myimage.jpg"画像パラメータが public/images ディレクトリの下に存在するかどうかを確認するだけです。

次の場所で画像にアクセスできます。

http://127.0.0.1:3000/images/myimage.jpg

ただしvalidateImage("myimage.jpg")、常に false を返します。

images ディレクトリは/public、私の app.js で定義されている の下にあります。

app.use(express.static(path.join(__dirname, 'public')));

私は何が欠けていますか?

4

1 に答える 1

2

'/images/'public/images ディレクトリ内はチェックされません。

を使用して、Node スクリプトに関連する URL を作成できます__dirname

あなたのディレクトリ構造はこのようなものです

root
  public
    images
  app.js

あなたはこれを行うことができます:

fs.stat(__dirname + '/public/images/' + image, ...
于 2012-11-05T02:30:23.000 に答える