Ниже моя схема
var makerSchema = new mongoose.Schema({
email:{
type:String,
required:[true, "Email is a required field"],
trim:true,
lowercase:true,
unique:true,
validate: [validator.isEmail, "Please enter a valid E-mail!" ]
},
password:{
type:String,
required:[true, "Password is a required field"],
minlength: 6,
maxlength:1000,
validate(value){
if(value.toLowerCase().includes('password')){
throw Error('The password should not contain the keyword "password"!');
}
}
},
image:{
type:Buffer
}
},{
timestamps:true
});
var Maker = mongoose.model('Maker', makerSchema);
Я хочу загрузить изображение и сохранить его в виде буфера ( или даже путь будет работать, для этого я изменю тип ключа изображения с Buffer на Строка ) в моей базе данных вместе с другой информацией, которую я отправлю, используя форму. Как добавить в форму кнопку «Загрузить изображение с локального устройства», а затем отправить ее?
Ниже представлен маршрут:
router.post('/maker', async (req, res) => {
console.log(req.body);
try {
var maker = new Maker(req.body);
await maker.save();
res.status(200).send();
} catch (error) {
if (error.name === "ValidationError") {
let errors = {};
Object.keys(error.errors).forEach((key) => {
errors[key] = error.errors[key].message;
});
return res.status(400).send(errors);
}
res.status(500).send(error);
}
})