使用NodeJS检查文件是否存在时始终出错

时间:2016-10-20 03:32:14

标签: node.js

尝试使用Nodejs检查文件时,我总是返回false或找不到文件。这是我在updatePrice.js文件中的代码

var filepath = './../logs/update-price.log';
fs.access(filepath, fs.F_OK, function(err) {
    if (!err) {
        return res.send("Exist");
    } else {
        return res.send("None");
    }
});

这是我的示例项目文件夹结构

enter image description here

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用fs.stat或fs.statSync

function fileExists(path) {
  try {
    fs.statSync(path)
  } catch(err) {
    return false
  }
  return true
}

答案 1 :(得分:0)

对于Node.js v0.12.x下的

var path = require('path');

path.exists('./../logs/update-price.log', function(exists) {
    if (exists) {
        // Exists
    } else {
        // Doesn't exist
    }
});

对于Node.js v0.12.x

fs.stat('foo.txt', function(err, stat) {
    if(err == null) {
        // Exists
    } else if(err.code == 'ENOENT') {
        // Doesn't exist
    } else {
        // Insufficient permissions
    }
});