@Tdvist

Как загрузить фото на бэк express.js с использованием multer?

Планирую реализовать загрузку изображения с клиента на бэк с последующим использованием.
Помимо file в форме есть несколько полей.
Файл обрабатываю через multer.
middleware
const storage = multer.diskStorage({
  destination(req, file, cb) {
    cb(null, 'images/')
  },
  filename(req, file, cb) {
    cb(null, new Date().toISOString() + '-' + file.originalname)
  },
})

const types = ['image/png', 'image/jpeg', 'image/jpg']

const fileFilter = (req, file, cb) => {
  if (types.includes(file.mimetype)) {
    cb(null, true)
  } else {
    cb(null, false)
  }
}

с встраиванием в роут
fileMiddleware.single('bizImage')
Думал, что на выходе будет req с полем file, чтобы взять оттуда путь и закинуть к остальным полям в БД, но по итогу получаю в req.body нужные поля текстовые (там где было поле файла становится пустой объект), а req.file == undefined. Если я неправильно понял алгоритм, просьба наставить на путь истинный.
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
@historydev
Редактирую файлы с непонятными расширениями
const upload = multer({ dest: 'uploads/' });
upload.single('bizImage')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы