fs(文件系统File System)
在Node中,与文件系统的交互是非常重要的,服务器的本质就将本地的文件发送给远程的客户端。文件系统简单来说就是通过node来操作系统中的文件。
Node通过fs模块来和文件系统进行交互。
该模块提供了一些标准文件访问API来打开、读取、写入文件,以及与其交互。
要使用fs模块,首先需要对其进行加载,fs模块是核心模块,直接引入不需要下载:const fs = require("fs");
同步和异步调用
fs模块中所有的操作都有两种形式可供选择:同步和异步。
同步文件系统会阻塞程序的执行,也就是除非操作完毕,否则不会向下执行代码。
异步文件系统不会阻塞程序的执行,而是在操作完成时,通过回调函数将结果返回。
FS核心模块(fileSystem)
在Nodejs中有一个文件系统,对计算机中的文件进行增删改查操作。
在nodejs中我们提供了一个模块,叫做fs模块系统,专门用于操作文件系统。
在nodejs中这个模块是可以直接使用的。
const fs = require('fs')
//重置img文件夹
const toolsResetImgDir = async (req, res) => {
const { dirPath = 'D:/temp/yuying/video/grade1/chinese1' } = req.body
let imgDirPath = dirPath + '-img'
const isExistImgDir = fs.existsSync(imgDirPath)
if (isExistImgDir) {
//删除文件夹
fs.rmdirSync(imgDirPath, { recursive: true })
}
//创建文件夹
fs.mkdirSync(imgDirPath)
//创建文件
fs.writeFileSync(imgDirPath + '/截图.png', '1')
res.send({
code: 200,
data: {
dirPath,
isExistImgDir
},
message: '成功'
})
}
//删除要更新的图片
const toolsDeleteImg = async (req, res) => {
const { dirPath = 'D:/temp/yuying/', filename } =
req.body
const isExistImg = fs.existsSync(`${dirPath}${filename}`)
if (isExistImg) {
//删除文件
fs.unlinkSync(`${dirPath}/${filename}`)
}
res.send({
code: 200,
data: {
dirPath,
filename
},
message: '成功'
})
}