routes.js 964 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const express = require('express');
  2. const pdf = require('pdf-parse');
  3. const fs = require('fs');
  4. const path = require('path');
  5. const router = express.Router();
  6. // POST /loader 路由
  7. router.post('/loader', async (req, res) => {
  8. const { url } = req.body; // 从请求体中获取 URL
  9. if (!url) {
  10. return res.status(400).json({ error: 'No URL provided' });
  11. }
  12. try {
  13. // 使用 fetch 获取 PDF 文件
  14. const response = await fetch(url);
  15. if (!response.ok) {
  16. throw new Error(`Failed to fetch PDF: ${response.statusText}`);
  17. }
  18. const buffer = await response.buffer(); // 获取响应的 buffer
  19. // 解析 PDF 文件
  20. const data = await pdf(buffer);
  21. // 返回解析后的数据
  22. res.json(data);
  23. } catch (error) {
  24. // 处理错误
  25. res.status(500).json({ error: 'Failed to parse PDF', details: error.message });
  26. }
  27. });
  28. module.exports = router;