const express = require('express'); const utils = require('../../utils.js'); const router = express.Router(); router.get('/', (req, res, next) => { // 读取文件夹列表 const files = fs.readdirSync(path.join(FILE_PATH)); let data = []; files.forEach((fileName) => { const filePath = path.join(FILE_PATH, fileName); const stats = fs.statSync(filePath); if (stats.isDirectory()) { // 如果是文件夹,递归遍历 // data.push({ // fileName: fileName, // filePath: fileName, // isFolder: true, // fileSize: stats.size, // modifyTime: stats.mtime.toLocaleString() // }) } else { // 如果是文件,执行操作 data.push({ fileName: fileName, filePath: fileName, isFolder: false, fileSize: stats.size, modifyTime: stats.mtime.toLocaleString() }) } }) fs.writeFileSync(path.join(FILE_DATA_PATH, 'files.json'), JSON.stringify(data)); res.json(data); }) router.get('/:filename', function(req, res, next) { const filename = req.params.filename; console.log(filename); data = JSON.parse(fs.readFileSync(path.join(FILE_DATA_PATH, 'files.json'))); data.getItems = (fileName) => { return data.find((item) => { return item.fileName === fileName; }) } var item = data.getItems(filename); console.log(item); if (item.isFolder == false) { res.sendFile(path.join(FILE_PATH, filename)); } else { res.location('/index.html'); } }); module.exports = router;