Мультер: неожиданное поле, даже если поле ввода и поля мультера совпадают

#node.js #multer

Вопрос:

пожалуйста, обратитесь к следующему коду.

  1. мультер controller.js (где выполняется загрузка и изменение размера)

uploadTourImages = загрузить.массив(«изображения», 3)

 resizeTourImages = async (req, res, next) => {
    if (!req.files) return next()
    if (req.files.images) {
        req.body.images = []
        await Promise.all(req.files.images.map(async (file, i) => {
            let filename = `tour-${req.params.id}-${Date.now()}-${i   1}.jpeg`
            await sharp(file.buffer)
                .resize(500, 500)
                .toFormat('jpeg')
                .jpeg({ quality: 90 })
                .toFile(`public/img/tours/${filename}`)
                req.body.images.push(filename)
        }))
    }
    next()
}
 
  1. файл маршрута, в который добавляются промежуточные программы.
      router.route('/')
     .get(tourController.getAllTours)
     .post(
         authController.protect,
          authController.restrictTo('admin', 'lead-guide'),
         tourController.createTour)
    
     router.route('/:id')
     .get(tourController.getOneTour)
     .patch(
         authController.protect, 
         authController.restrictTo('admin', 'lead-guide'), 
        uploadTourCover, resizePhoto('tours'), 
        uploadTourImages, resizeTourImages,
         tourController.updateTour)
     
  2. как файлы загружаются в postman. (вы можете видеть, что поле ввода такое же, как и в коде)

введите описание изображения здесь

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

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

2. готово @Рукшанджаясекара

3. Как выглядят uploadTourCover и uploadTourImages?