index.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import express from "express";
  2. import path from "path";
  3. import fs from "node:fs";
  4. import { EPub } from "epub2";
  5. const router = express.Router();
  6. router.use(function timeLog(req, res, next) {
  7. console.log("Time: ", Date.now());
  8. next();
  9. });
  10. // define the about route
  11. router.put("/", function (req, res) {
  12. let sampleFile;
  13. if (!req.files || Object.keys(req.files).length === 0) {
  14. return res.status(400).send("No files were uploaded.");
  15. }
  16. sampleFile = req.files.file;
  17. EPub.createAsync(sampleFile.data, "", null)
  18. .then(async function (epub) {
  19. console.log(epub.filename.length);
  20. console.log("METADATA:\n");
  21. // console.log(epub['Symbol(rawData)']);
  22. console.log(epub);
  23. // console.log(23, epub.filename);
  24. // console.log("METADATA:\n");
  25. // console.log(epub.metadata);
  26. // console.log("\nSPINE:\n");
  27. // console.log(epub.flow);
  28. // console.log("\nTOC:\n");
  29. // console.log(epub.toc);
  30. // get first chapter
  31. // await epub
  32. // .getChapterAsync(epub.spine.contents[1].id)
  33. // .then(function (data) {
  34. // console.log(383838, data);
  35. // });
  36. // console.log("\nmanifest:\n");
  37. // console.log(epub.manifest);
  38. // console.log("\nlistImage:\n");
  39. // let imgs = epub.listImage();
  40. // imgs.forEach((elm) => {
  41. // if (elm.id.indexOf("cover") > -1) {
  42. // console.log(505050, elm);
  43. // }
  44. // });
  45. // await epub
  46. // // .getImageAsync(imgs[imgs.length - 2].id)
  47. // .getImageAsync('cover-image')
  48. // .then(([bufferData, mimeType]) => {
  49. // console.log(`\ngetImage: cover\n`);
  50. // console.log(52, bufferData);
  51. // console.log(52, mimeType);
  52. // // 返回文件
  53. // // res.setHeader("Content-Type", mimeType);
  54. // // res.sendFile(data);
  55. // // 设置响应头,指定内容类型为 PNG 图片
  56. // res.writeHead(200, {
  57. // "Content-Type": mimeType,
  58. // "Content-Length": bufferData.length,
  59. // });
  60. // // 将 Buffer 数据发送到客户端
  61. // res.end(bufferData);
  62. // });
  63. })
  64. .catch(function (err) {
  65. console.log("ERROR\n-----");
  66. throw err;
  67. });
  68. res.send("About files");
  69. });
  70. export default router;