Multer - обрабатывать отсутствующий файл - PullRequest
1 голос
/ 03 апреля 2020

Я использую multer как express связующее ПО для загрузки файла следующим образом:

const upload = multer().single('fieldName');

router.post(
  '/',
  upload,
  (req, res) => {
    console.log(req.file) 
  }
);

Работает нормально, за исключением случаев, когда я отправил форму без файла. Тогда, очевидно, промежуточное программное обеспечение для загрузки просто пропущено, и req.file равно undefined.

Я попытался добавить фильтр примерно так, но, по-видимому, функция фильтра не вызывается, когда файла нет:

function fileFilter(req, file, cb) {
  console.log('filtering'); //never reached when file is missing
  if (!file) {
    return cb(new Error('no file', false));
  }
  cb(null, true);
}

const upload = multer({fileFilter: fileFilter}).single('fieldName');

router.post(...)

Есть ли способ обработать отсутствующий файл в промежуточном программном обеспечении Multer? Или я должен проверить позже?

...