1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- const express = require('express');
- const fs = require('fs');
- const path = require('path');
- const router = express.Router();
- const pdf = require('pdf-parse');
- const mammoth = require("mammoth");
- router.post('/loader', async (req, res) => {
- let url = req.body?.url;
- console.log(req.body)
- console.log(req.query)
- if (!url) {
- return res.status(400).json({ error: 'No URL provided' });
- }
- try {
-
- const response = await fetch(url);
- if (!response.ok) {
- throw new Error(`Failed to fetch: ${response.statusText}`);
- }
- const arrayBuffer = await response.arrayBuffer();
- const buffer = Buffer.from(arrayBuffer);
-
- let type,data
- if(url?.endsWith(".pdf")){
- type = "pdf"
- data = await pdf(buffer);
- }
- if(url?.endsWith(".docx")){
- type = "docx"
- let text = await mammoth.extractRawText(buffer)
-
- data = text?.value || "";
- }
-
- res.json({
- code:200,
- type:type,
- data:data,
- });
- } catch (error) {
-
- res.status(500).json({ error: 'Failed to parse File', details: error.message });
- }
- });
- module.exports = router;
|