Как удалить файл в sailsjs?

Я работал над проектом, в котором мне нужно регулярно обновлять ассоциации и базу данных. Я застрял с удалением файлов. Я использовал для этой цели fs.unlink из fs, но он выдает ошибку.

Фрагмент кода -

fs.unlinkSync("/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png");
sails.log.info("Logo deleted succesfully");

Журнал ошибок -

fs.js:932
return binding.unlink(pathModule._makeLong(path));
Error: ENOENT: no such file or directory, unlink '/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png'

Также файл 70c9c2c4-74de-41c1-b096-c403b749a1a9.png существует в пути /images/uploadedImages/, который находится внутри папки активов структуры sailsjs.

Нет ли способа достичь этого?

2 ответа

Разобрался с проблемой. Фреймворк Sailsjs не начинает поиск пути внутри папки активов самостоятельно.

Изменение пути от - /images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png в ./assets/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png решает проблему.

Кажется, файл, который вы передали fs.unlinkSync() не существует, убедитесь, что у вас есть этот файл

/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png

тогда это будет работать.

Если кто-то все еще находит ответ, ниже может быть хороший подход, если вы хотите проделать некоторую операцию с файлом.

с помощью fs.access вы можете проверить, доступен ли файл или нет, прежде чем выполнять какие-либо операции с файлом. Можно также использовать fs.accessSync для синхронного поведения.

В приведенном ниже примере я использовал fs.unlink, но также можно использовать fs.unlinkSync для удаления файла.

// import in file
const fs = require('fs')

// path of your file
let path = 'path to your file'

// fs.access will check if file is available or not
fs.access(path, fs.F_OK, (err) => {
    if (err) {
      console.error(err)
      return
    }
    //file exists, Go for delete operation
    fs.unlink(path , function (err) {
        if (err) {
            console.error(err);
            return
        }
        console.log('Image File has been Deleted');
    });
})

Другие вопросы по тегам