【发布时间】:2019-07-27 18:55:39
【问题描述】:
我是Nodejs 的新手,在我的项目中我正在尝试在Edit page 中上传图片。
这里使用了两个条件,分别是:
- 如果用户选择图像文件意味着
- 没有选择
如果用户选择图像文件新图像
upload并将其保存在我的database.中否则不使用
upload file保存 old_image 数据。
这是我的代码:
router.post('/edit_coupon/:id', verifyToken, function(req, res, next){
let update_coupon = {};
var file = req.files.image;
if(Object.keys(req.files).length != 0) // if user select file
{
var random = Math.floor(Math.random() * (999999 - 100000 + 1)) + 100000;
const image_name = random+file.name;
file.mv('public/assets/images/coupons/'+image_name, function(err){
if (err)
{
return res.status(500).send(err);
}
});
update_coupon.image = image_name;
}
else
{
update_coupon.image = req.body.old_image; // if user didnot select file
}
// code for update
...
...
...
});
当用户没有选择图像显示错误时,我的上述代码不起作用 喜欢
TypeError:无法将 undefined 或 null 转换为对象 在 Function.keys()
【问题讨论】:
-
这个问题闻起来像 stackoverflow.com/questions/23114374/… 的重复,如果那里的答案对您有帮助,请尝试。
标签: javascript node.js image express file-upload