Missing required parameter - file (Express/Node/Multer)
I am getting the below error when I try to upload a file using cloudinary:
message: 'Missing required parameter - file',
name: 'Error',
http_code: 400
Controller:
export default async function CreateNewProduct(req, res, next) {
try {
console.log('Request body: ', req);
const imgUpload = await cloudinary.uploader.upload(req.file);
// Create new product with image data
let newProduct = newProduct({
name:req.body.name,
description:req.body.description,
price:req.body.price,
category:req.body.category,
quantity:req.body.quantity,
shipping:req.body.shipping,
cloudinary_id: imgUpload.public_id,
file:imgUpload.secure_url,
});
await newProduct.save();
res.json(newProduct);
} catch (error) {
console.log('Error uploading image: ', error);
res.send(error);
}
next();
}
My route:
router.post(
'/new-product/create/:userId',
upload.single('file'),
CreateNewProduct,
(req, res) => {
if (!req.file) {
throwError('File missing');
} else {
res.send('success');
}
}
);
App.js
app.use(
fileUpload({
useTempFiles:true,
tempFileDir:'/tmp/',
})
);
app.use(express.json());
Post is closed for comments.
Comments
1 comment