nodejs编写api接口实现图片文件的删除

1.导入fs包

const fs = require('fs')

2.编写api接口

//删除图片的api
app.post('/deleteimg', (req, res) => {
    //前端传过来的是图片的唯一id值,后端通过该id值进行删除图片
    const selectimgname = 'select img from chenchaoyunimg where id=?'
    //根据id查找数据库中图片的地址
    db.query(selectimgname, [req.body.id], (err, results) => {
        if (err) {
            return res.send({ message: err.message })
        }
        //找到相应的图片数据
        if (results.length == 1) {
            //原图片地址http://127.0.0.1/img/......=>/img/......
            //通过slice方法,分割出图片前面的url地址
            console.log(results[0].img.slice(16));
            const path = '.' + results[0].img.slice(16)
            // fs.unlink删除文件,path为图片文件地址
            fs.unlink(path, function(error) {
                if (error) {
                    console.log(error);
                    return false;
                }
                console.log('删除文件成功');
                //删除图片文件成功,删除该id对应的图片地址在数据库中的数据,并响应给前端。
                const deletesql = 'delete from chenchaoyunimg where id=?'
                db.query(deletesql, [req.body.id], (err, results) => {
                    if (err) {
                        return res.send({ message: err.message })
                    }
                    if (results.affectedRows == 1) {
                        return res.send({
                            status: 0,
                            message: '删除图片成功'
                        })
                    } else {
                        res.send({
                            status: 1,
                            message: '删除图片失败'
                        })
                    }
                })
            })
        }
    })

})

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值