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。

图像目录/public位于我的 app.js 中定义的目录下:

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

我错过了什么?

4

1 回答 1

2

'/images/'是一个绝对路径,它不会检查您的 public/images 目录。

您可以使用__dirname.

你的目录结构是这样的,看起来

root
  public
    images
  app.js

你可以这样做:

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