Node.js 检查文件或目录的权限

示例

fs.access()确定路径是否存在以及用户对该路径上的文件或目录具有什么权限。fs.access而是不返回结果,如果不返回错误,则说明该路径存在并且用户具有所需的权限。

权限模式可用作fs对象的属性,fs.constants

  • fs.constants.F_OK -具有读/写/执行权限(如果未提供任何模式,则为默认设置)

  • fs.constants.R_OK -具有读取权限

  • fs.constants.W_OK -具有写权限

  • fs.constants.X_OK-具有执行权限(与fs.constants.F_OKWindows相同)

异步地

var fs = require('fs');

var path = '/path/to/check';

// 检查执行权限

fs.access(path, fs.constants.X_OK, (err) => {

    if (err) {

        console.log("%s doesn't exist", path);

    } else {

        console.log('can execute %s', path);

    }

});

// 检查我们是否具有读/写权限

// 指定多种权限模式时

// 每个模式都由管道分隔:

fs.access(path, fs.constants.R_OK | fs.constants.W_OK, (err) => {

    if (err) {

        console.log("%s doesn't exist", path);

    } else {

        console.log('can read/write %s', path);

    }

});

同步地

fs.access也有一个同步版本fs.accessSync。使用时fs.accessSync,必须将其包含在try / catch块中。

// 检查写权限

try {

    fs.accessSync(path, fs.constants.W_OK);

    console.log('can write %s', path);

}

catch (err) {

    console.log("%s doesn't exist", path);

}

           

以上是 Node.js 检查文件或目录的权限 的全部内容, 来源链接: utcz.com/z/343147.html

回到顶部