Actualmente estoy trabajando con archivos pdf en ReactJS y modificándolos en mi servidor. El problema es que no sé cómo pasar los datos de mi archivo al lado del servidor y luego devolverlos.
así es como obtengo mi archivo:
<div className={"input-file"}> <input className="file-upload-field" type="file" accept="application/pdf" onChange={onFileChange}/> </div>y luego tengo
async function modifyPdf(doc, pageNumber) { let chemin = [ `/testun/${doc}` ]; await Promise.all(chemin.map(url => { fetch(url) .then(checkStatus) // check the response of our APIs .then(parseJSON) // parse it to Json .catch(error => console.log('There was a problem!', error)) } )) .then(response => { newdoc = response[0]; }); return doc//newdoc; }el problema es que si quiero enviar una URL, sería local, por lo que el nodo no podría recuperar el recurso (¿creo? Porque es una URL de blob), y ¿es posible pasar el arrayBuffer? Porque cuando lo hago, pasa [object arrayBuffer] como parámetro a mi ruta, por lo que realmente no sé si hay una mejor opción.
¡Gracias!
Puede cargar sus archivos usando multer . Puede acceder al archivo cargado desde la carpeta de destino en el servidor o local
const express = require("express"); const multer = require("multer"); const upload = multer({ dest: "uploads/" }); const app = express(); app.post("/upload", upload.single("productImage"), function (req, res, next) { var filename = req.file.filename; res.redirect("/public/uploads/" + filename); });upload.single('productImage') se refiere al nombre del elemento de entrada y puede obtener el nombre del archivo en el backend con req.file.filename
<form action="/upload" method="POST" enctype="multipart/form-data"> <input type='file' name="productImage" required/> <button type="submit">Submit</button> </form> Después de eso, puede acceder al archivo en el front-end http://localhost:3000/uploads/<filename>