前言:
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("已取消");
},
});
},