Как проверить права доступа к папке - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь обработать некоторые каталоги по определенному пути.один из каталогов содержит несколько папок.на самом деле, у меня нет доступа ко всем этим папкам, потому что некоторые из них принадлежат мне, а другие принадлежат другим пользователям.

мой вопрос, есть ли в javascript способ проверить права доступаконкретная папка?потому что я хочу сначала проверить, есть ли у меня доступ, чтобы открыть и посмотреть содержимое этой папки, или нет.если у меня есть доступ к нему, то логика будет продолжена.если у меня нет права открывать эту папку, я сделаю что-нибудь еще.

, пожалуйста, дайте мне знать, как проверить мои права доступа к папке или файлу

Примечание :

Я использую Ubuntu

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы можете использовать 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`);
  }
});

Подробнее Подробнее

0 голосов
/ 13 июня 2018

попробуйте

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);
});

так же, как вы можете проверить доступ на запись и доступ к исполняемому файлу

вы можете найти документацию здесь

...