stats.isFile() 无法识别路径中的文件

stats.isFile() doesn't recognize file from a path

我正在尝试使用 fs.statfs.lstat

将路径识别为文件路径
fs.stat('/img/items/item.jpg', function (err, stats) {
  var isDir = stats.isDirectory();
  var isFile = stats.isFile();
  console.log('isDir: ', isDir);
  console.log('isFile: ', isFile);
});

但是消息说它是一个目录,isFilefalse

我在这里遗漏了一些东西,识别路径是文件路径的正确方法是什么?

感谢您的帮助

从你的路径来看,当你打算测试相对路径时,极有可能你正在测试绝对路径。

如果它是当前进程工作目录的相对路径,请尝试省略初始斜杠:fs.stat('img/items/item.jpg', ...

如果它是包含 fs.stat() 调用的文件的相对路径,则使用该文件的目录作为起点:fs.stat(__dirname + '/img/items/item.jpg', ...

如果它与网络服务器的文档根目录相关,您将需要获取该目录并从那里构建路径。 path 模块可能会有所帮助。