Создание папок с использованием fs.mkdir ограничено только для чтения, поэтому я не могу удалить папку.Node.js - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть приложение node.js, в котором есть функция, которая создает папки, если они не существуют, а затем создает файлы, если они не существуют.У меня также есть функция, которая удалит эти файлы и папки.Моя проблема заключается в том, что при создании папок они создаются только для чтения.

Я уже пытался использовать разные режимы доступа к файлам в параметре при создании папки и проверял создание файлов с разрешением на чтение / запись.

Это код, который создастпапки и файлы:

mkdirp.sync(path.join(__dirname, filePath));
for (let i = 0; i < files.length; i++) {
    let filePaths = [] // this list will include the filepath for each file             
    await fs.open(path.join(__dirname, filePaths[i]), "w+", function(error, fd) {
        if (error) {
            console.error("error writing image: \n\n" + error);
            return;
        }
        fs.writeSync(fd, files[i].buffer, null, "base64");
    });
}

Этот код удаляет папки и файлы:

await del(filePath);

Ожидаемый результат должен заключаться в том, что приложение может создавать и удалять файлы и папки.Фактический результат заключается в том, что приложение получает сообщение об ошибке, в котором говорится:

{ [Error: EPERM: operation not permitted, unlink "filepath"]
  errno: -4048,
  code: 'EPERM',
  syscall: 'unlink',
  path: "filepath"
}
error writing image:

Error: EPERM: operation not permitted, open "filePath"

Приложение также было опробовано в Ubuntu, где оно работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...