#node.js #multer
Вопрос:
пожалуйста, обратитесь к следующему коду.
- мультер 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()
}
- файл маршрута, в который добавляются промежуточные программы.
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)
- как файлы загружаются в postman. (вы можете видеть, что поле ввода такое же, как и в коде)
Комментарии:
1. Пожалуйста, добавьте свой код, используя обычный текст вместо изображений.
2. готово @Рукшанджаясекара
3. Как выглядят uploadTourCover и uploadTourImages?