index.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. var express = require("express");
  2. var router = express.Router();
  3. var fs = require("fs");
  4. /* GET home page. */
  5. // router.get('/', function(req, res, next) {
  6. // res.render('index', { title: 'Express' });
  7. // });
  8. router.get("/", function (req, res, next) {
  9. function readFileList(path, filesList) {
  10. var files = fs.readdirSync(path);
  11. files.forEach(function (itm, index) {
  12. var stat = fs.statSync(path + itm);
  13. if (stat.isDirectory()) {
  14. //递归读取文件
  15. readFileList(path + itm + "/", filesList);
  16. } else {
  17. if (itm.endsWith('.json')) {
  18. var obj = {}; // 定义一个对象存放文件的路径和名字
  19. obj.path = path; // 路径
  20. obj.filename = itm; // 名字
  21. filesList.push(obj);
  22. }
  23. }
  24. });
  25. }
  26. var getFiles = {
  27. getFileList: function (path) {
  28. var filesList = [];
  29. readFileList(path, filesList);
  30. return filesList;
  31. },
  32. getFile: function (path) {
  33. var fileList = [];
  34. this.getFileList(path).forEach((item) => {
  35. fileList.push(item.filename);
  36. });
  37. res.send(fileList);
  38. return fileList;
  39. },
  40. };
  41. getFiles.getFile("D:/situationData/");
  42. });
  43. router.post("/fileContent", function (req, res, next) {
  44. console.log("111", req.body.fileName);
  45. const name = req.body.fileName;
  46. var file = `D:/situationData/${name}`; //也可以用这种方式指定路径
  47. //读取json文件
  48. fs.readFile(file, "utf-8", (err, data) => {
  49. if (err) {
  50. return res.send({
  51. code: 500,
  52. data: null,
  53. msg: "文件读取失败",
  54. });
  55. } else {
  56. const jsonData = JSON.parse(data);
  57. // res.json(jsonData);
  58. return res.send({
  59. code: 200,
  60. data: jsonData,
  61. msg: "成功",
  62. });
  63. }
  64. });
  65. // return data
  66. });
  67. router.get("/readTxt", function (req, res) {
  68. fs.readFile(`D:/situationData/example.txt`, "utf-8", (err, data) => {
  69. if (err) {
  70. return res.send({
  71. code: 500,
  72. data: null,
  73. msg: "文件读取txt失败",
  74. });
  75. } else {
  76. // const jsonData = JSON.parse(data);
  77. const fileContent = data;
  78. // res.json(jsonData);
  79. return res.send({
  80. code: 200,
  81. data: fileContent,
  82. msg: "成功",
  83. });
  84. }
  85. });
  86. });
  87. module.exports = router;