我正在尝试使用fs.stat
和fs.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而isFile
是false
。
我在这里遗漏了什么是识别路径是文件路径的正确方法?
感谢您的帮助
答案 0 :(得分:3)
从您的路径判断,当您打算测试相对路径时,极有可能测试绝对路径。
如果它是当前流程工作目录的相对路径,请尝试省略初始斜杠:fs.stat('img/items/item.jpg', ...
如果它是包含fs.stat()
调用的文件的相对路径,请使用该文件的目录作为起点:fs.stat(__dirname + '/img/items/item.jpg', ...
如果它与Web服务器的docroot相关,则需要获取该目录并从那里构造路径。 path
模块可以提供帮助。