删除文件 (fs.unlink())node+express+Multer实现文件上传之后

前言:

fs.unlink() 是 Node.js 文件系统(fs)模块中的一个方法,用于删除一个已经存在的文件。这个方法需要一个参数,即要删除的文件的路径。

使用 unlink 方法删除一个文件。这个方法是一个异步方法,所以我们需要传递一个回调函数来处理可能出现的错误。

需要注意的是,如果文件不存在,unlink 方法将不会抛出错误,而是会简单地返回。

一,后端接口

var express = require('express');

var router = express.Router();

const pool = require('../config.js')

const multer = require('multer')

const path = require('path')

const fs = require('fs')

// 删除附件

router.get('/deletefile', function (req, res) {

    console.log(req.query.url);

    // fs.unlink 删除和req.query.url匹配的文件

    fs.unlink(path.join(req.query.url), (err) => {

        if (err) {

            console.log(err)

            res.send({

                status: 1,

                msg: '删除文件失败'

            })

        } else {

            var sql = 'DELETE FROM annex WHERE id=?';

            var addSqlParam = [req.query.id];

            pool.getConnection(function (err, connection) {

                if (err) console.log("POOL ==> " + err);

                connection.query(sql, addSqlParam, (err, result) => {

                    //如果插入数据失败,则注册失败,否则注册成功

                    if (err) {

                        res.send({

                            status: 1,

                            msg: '删除文件失败'

                        })

                        return

                    }

                    res.send({

                        status: 0,

                        msg: '删除成功'

                    })

                    console.log("删除成功");

                })

                connection.release();

            })

           

        }

    })


 

})

module.exports = router;

二,前端请求传参

// 稿件删除功能

    deletefile(row, index) {

      // const that = this;

      this.$Modal.confirm({

        title: "提示",

        content: "确定删除?",

        onOk: async () => {

          let data = {

            id: row.id,

            url: row.url,

          };

          await deletefileData(data).then((row) => {

            console.log(row);

            if (row.data.status == 0) {

              // this.init(this.infoid);

              this.files.splice(index, 1);

              this.$Message.info("已删除");

            } else {

              this.$Message.info("删除失败");

            }

          });

        },

        onCancel: () => {

          this.$Message.info("已取消");

        },

      });

    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值