我正在尝试处理特定路径下的某些目录。其中一个目录包含一些文件夹。实际上,我没有 访问所有这些文件夹,因为其中一些是我自己的,其他文件属于其他用户。
我的问题是,在javascript中有什么方法可以检查特定文件夹的访问权限吗?因为我想做的是先检查一下我是否有 访问打开并查看该文件夹的内容。如果我有权访问它,那么逻辑将继续。如果我没有权利打开那个 文件夹,然后我会做其他事情。
请让我知道如何检查我对文件夹或文件的访问权限
注意:
我正在使用Ubuntu
答案 0 :(得分:0)
试试这个
var fs = require('fs');
fs.access(__dirname, fs.constants.R_OK, function(err) {
if(err){
console.error("can't read");
process.exit(1);
}
console.log("can read");
process.exit(0);
});
您可以检查写入和可执行访问的方式
您可以找到文档here
答案 1 :(得分:0)
您可以使用fs
执行任务
var file= 'test.text'
// Check if the file exists in the current directory.
fs.access(file, fs.constants.F_OK, (err) => {
console.log(`${file} ${err ? 'does not exist' : 'exists'}`);
});
// Check if the file is readable.
fs.access(file, fs.constants.R_OK, (err) => {
console.log(`${file} ${err ? 'is not readable' : 'is readable'}`);
});
// Check if the file is writable.
fs.access(file, fs.constants.W_OK, (err) => {
console.log(`${file} ${err ? 'is not writable' : 'is writable'}`);
});
// Check if the file exists in the current directory, and if it is writable.
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
if (err) {
console.error(
`${file} ${err.code === 'ENOENT' ? 'does not exist' : 'is read-only'}`);
} else {
console.log(`${file} exists, and it is writable`);
}
});
More详细信息