Как удалить локальный файл в Nest JS?

#node.js #nestjs #nest

Вопрос:

Я пробовал использовать

  import fs from 'fs';
 .
 .
 .

 @Delete(':fileName')
 async deletePicture(@Param('fileName') fileName: string) {
  await fs.unlink('../../uploads/${fileName}', (err) => {
   if (err) {
    console.error(err);
    return err;
   }
  });
 }
 

Но это не работает. Я поискал в Интернете, но там нет никакой информации об этом.

Комментарии:

1. Как насчет того, что «не работает», вы получаете ошибки? Файл не удаляется? Нам нужно больше информации, чтобы иметь возможность помочь.

2.кстати, fs.unlink не возвращает обещание, так await что это не имеет смысла. Я советую вам использовать API promise для fs nodejs.org/api/fs.html#fs_fspromises_unlink_path

3. Ошибка, которую я получал, была Cannot read property 'unlink' of undefined . Проблема была решена, когда я изменил импорт с import fs from 'fs'; на import * as fs from 'fs';

4. Кроме того, асинхронность необходима, потому что я использую fs.unlink . Для использования функции синхронизации fs.unlinkSync

5. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.

Ответ №1:

Ошибка, которую я получал, была Cannot read property 'unlink' of undefined . Проблема была решена, когда я изменил импорт с import fs from 'fs'; на import * as fs from 'fs';

PD: Убедитесь, что вы используете правильный путь (машинный путь) к архиву внутри fs.unlink(path, callback) .