I have this route below working fine
routes.post("/product/new", adminAuth, upload.single("picture"), (req,res) => {
var {title, code, price, amount, supplier } = req.body
async function convertImage(){
return await imageToBase64(req.file.path);
}
convertImage().then(async(picture) => {
if(picture){
console.log(picture)
Product.create({
title: title,
slug: slugify(title),
code: code,
price: price,
amount: amount,
// picture: picture,
supplierId: supplier
}).then(() =>{
res.redirect("/admin/products");
});
}
}).catch(err => {
throw err
});
});
However, when I pass the variable picture
it shows up the following log message:
UnhandledPromiseRejectionWarning: Error
UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1 (node:9735) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
My questions is related to Sequelize method create.({}), can I pass the const from imageToBase64 inside? The idea is to convert the picture uploaded to base64 and saving it in a database.
Here is the Product model
const Product = connection.define('products', {
title:{
type: Sequelize.STRING,
allowNull: false
},
slug: {
type: Sequelize.STRING,
allowNull: false
},
code: {
type: Sequelize.STRING,
allowNull: false
},
price: {
type: Sequelize.STRING,
allowNull: true
},
amount: {
type: Sequelize.STRING,
allowNull: true
},
picture: {
type: Sequelize.STRING,
allowNull: true
}});