This is my code I have to put 3 images in display image,display images and display logo..How to do it?
const createStore = async (req,res,next) => {
var id = req.params.tempid;
var tempDetail = await Template.findById({_id:id})
console.log("create store running,,,,,,,")
var store={
"store_id":req.body.store_id,
"store_name":req.body.store_name,
"context": req.body.context,
"display_image": req.files,
"display_images":req.files,
"display_logo":req.files
}
console.log("before store save")
console.log(req.files)
try{
await Template.updateOne(
{ _id: id },
{ $push: { store:store }}
)
res.status(200).json({
message:"store added successfully",
result:store
})
this is route :- router.post("/createStore/:tempid",verifyUser,upload.array('display_image display_images display_logo',maxCount=10), templateController.createStore)
I assume that display image,display images and display logo
are in different fields. So you can use multer fields
multer middleware
upload.fields([
{
name: 'display_image', maxCount: 1
},
{
name: 'display_images', maxCount: 1
},
{
name: 'display_logo', maxCount: 1
}
])
controller
const display_image = req.files && req.files.display_image ? req.files.display_image[0] : undefined;
const display_images = req.files && req.files.display_images ? req.files.display_images[0] : undefined;
const display_logo = req.files && req.files.display_logo ? req.files.display_logo[0] : undefined;