Node.js 使用fs.stat进行文件验证始终失败
我编写了一个验证路径图像的小函数:Node.js 使用fs.stat进行文件验证始终失败,node.js,express,Node.js,Express,我编写了一个验证路径图像的小函数: var validateImage = function(image) { fs.stat('/images/' + image, function(err, stats) { if(stats.isFile()) { return true; } }); }; 它只是检查image参数是否存在于我的public/images目录下,该参数类似于“myimage.jpg” 我可以访问以下位置的图像: http://127.
var validateImage = function(image) {
fs.stat('/images/' + image, function(err, stats) {
if(stats.isFile()) {
return true;
}
});
};
它只是检查image参数是否存在于我的public/images目录下,该参数类似于“myimage.jpg”
我可以访问以下位置的图像:
http://127.0.0.1:3000/images/myimage.jpg
但是validateImage(“myimage.jpg”)
始终返回false
图像目录位于my app.js中定义的/public
下:
app.use(express.static(path.join(__dirname, 'public')));
我缺少什么?
'/images/'
是一个绝对路径,它不会在您的public/images目录中进行检查
您可以使用\uu dirname
使url相对于节点脚本
您的目录结构似乎是这样的
root
public
images
app.js
您可以这样做:
fs.stat(__dirname + '/public/images/' + image, ...
fs.stat
使用文件的实际路径。您的代码正在根目录下查找目录/images
,这不是您稍后描述的方式。还尝试使用/public/images/+image对其进行验证。还是没什么