删除孤立的图像节点应用程序

时间:2018-08-16 06:20:04

标签: node.js express

我有一个发布请求,用户可以在该请求中转到其个人资料图片页面并上传图片。我正在使用multer和express来上传图像。一切正常,上传图片,并输入到我的本地猫鼬数据库中。

问题在于,由于这是一个发布请求,因此图像会继续添加到数据库和磁盘中。以下是我的代码:

// Update profile picture
router.post('/profilepic', ensureAuthenticated, (req, res) => {
    upload(req, res, (err) => {
        if (err) {
            res.render('user/userdashboard', {
                error_msg: err
            });
        } else {
            if (req.file == undefined) {
                res.render('user/profilepic', {
                    error_msg: 'Error: No file selected! you must select a file to upload'
                });
            } else {
                let thumbImageName = 'profilethumb_' + req.file.filename;
                const newImage = {
                    profile_pic: req.file.filename,
                    member_id: req.user.member_id,
                    imagePath: req.file.destination,
                    imagePath2: req.file.path,
                    imageSizebytes: req.file.size,
                    imageThumb: thumbImageName
                }
                new Image(newImage)
                    .save();
                req.flash('success_msg', 'Image saved.');
                res.redirect('/user/userdashboard');
            }
        }
    });

});

我也在数据库中存储了目的地和路径,所以我要实现的是,当用户上载新的配置文件映像时,磁盘上以及数据库中的先前映像将被删除/删除,以便无论个人资料图片被上传多少次,都只会为用户维护一份副本,这就是最近上传的一份。 在此先感谢大家的帮助。

0 个答案:

没有答案