使用 Multer 清空图像字段
Empty image field with Multer
我正在使用 Multer 并以 multipart/form-data 的形式发送数据。即使图像字段为空,我也想保存新的食物对象,但是当我使用没有图像的 POSTMAN 发送数据时 req.files.image.name 它向我发送了一个错误:
TypeError: 无法读取未定义
的属性 'name'
router.post('/food/add', function (req, res, next) {
var food = new Food({
name: req.body.name,
image: req.files.image.name,
category: req.body.category,
});
food.save(function(err, food){
if (err){
return next(err);
}
res.json({food: food, message: '¡Wohoo! Food added.'});
});
});
如何解决此错误并保存图像字段为空的对象?
只需使用 if 语句。
var food = new Food({
name: req.body.name,
category: req.body.category,
});
if (typeof req.files.image !== "undefined") {
food.image = req.files.image.name;
}
或者
var food = new Food({
name: req.body.name,
image: (typeof req.files.image !== "undefined") ? req.files.image.name : '',
category: req.body.category,
});
我正在使用 Multer 并以 multipart/form-data 的形式发送数据。即使图像字段为空,我也想保存新的食物对象,但是当我使用没有图像的 POSTMAN 发送数据时 req.files.image.name 它向我发送了一个错误:
TypeError: 无法读取未定义
的属性 'name'router.post('/food/add', function (req, res, next) {
var food = new Food({
name: req.body.name,
image: req.files.image.name,
category: req.body.category,
});
food.save(function(err, food){
if (err){
return next(err);
}
res.json({food: food, message: '¡Wohoo! Food added.'});
});
});
如何解决此错误并保存图像字段为空的对象?
只需使用 if 语句。
var food = new Food({
name: req.body.name,
category: req.body.category,
});
if (typeof req.files.image !== "undefined") {
food.image = req.files.image.name;
}
或者
var food = new Food({
name: req.body.name,
image: (typeof req.files.image !== "undefined") ? req.files.image.name : '',
category: req.body.category,
});