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

时间:2015-05-27 18:29:03

标签: javascript node.js fs

我正在尝试使用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);
});

但是有消息说它是dir而isFilefalse

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

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

从您的路径判断,当您打算测试相对路径时,极有可能测试绝对路径。

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

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

如果它与Web服务器的docroot相关,则需要获取该目录并从那里构造路径。 path模块可以提供帮助。