upload.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. var express = require("express");
  2. const router = express.Router();
  3. const multer = require("multer");
  4. var uploads = multer({
  5. dest: "./upload",
  6. });
  7. var xlsx = require("node-xlsx");
  8. var fs = require("fs");
  9. var path = require("path");
  10. const pgClient = require("../DataBase/Postgresql/pgClient.js"); //pg 查询引擎
  11. let uploaddistDir = JSON.parse(
  12. fs.readFileSync(
  13. path.join(__dirname, "../../../config/baseConfig.json"),
  14. "utf-8"
  15. )
  16. );
  17. /* GET home page. */
  18. router.get("/", function (req, res, next) {
  19. res.render("index", {
  20. title: "Express",
  21. });
  22. });
  23. router.post("/up", uploads.single("file"), async function (req, res) {
  24. //给文件添加后缀名
  25. var pash = path.extname(req.file.originalname);
  26. fs.renameSync(req.file.path, req.file.path + pash, (err) => {});
  27. // 第一个文件sheet1
  28. var { data } = xlsx.parse(req.file.path + pash)[0];
  29. // 切的第一排表头
  30. data.splice(0, 1);
  31. // console.log(data);
  32. //定义一个空列表,并且循环列表
  33. data.forEach((item) => {
  34. let sql = `INSERT INTO t_cj_jtjc ("sjlc","zqpm") VALUES (${item[0]},${item[1]})`;
  35. pgClient.query(sql).then((data) => {
  36. res.send(data);
  37. });
  38. });
  39. const myDate = new Date();
  40. const tableName = "JingTaiJC";
  41. const time = myDate.toLocaleDateString();
  42. const fileName = req.file.originalname;
  43. const sql1 = `INSERT INTO t_file_table ("name","time","table") VALUES ('${fileName}','${time}','${tableName}')`;
  44. pgClient.query(sql1).then((data1) => {
  45. res.send(data1);
  46. });
  47. res.json({
  48. code: 200,
  49. msg: "批量导入成功",
  50. });
  51. });
  52. const storage = multer.diskStorage({
  53. destination: function (req, file, cb) {
  54. let distDir = uploaddistDir.uploaddistDir;
  55. cb(null, distDir);
  56. },
  57. filename: function (req, file, cb) {
  58. cb(null, `${file.originalname}`);
  59. },
  60. });
  61. const upload = multer({ storage: storage });
  62. router.post("/uploadFilesList", upload.fields([{ name: "file" }]), (e) => {});
  63. // 导出模块(在 app.js 中引入)
  64. module.exports = router;