Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

106
Views
¿Cómo cargar un archivo de imagen con información adicional como etiqueta o valor alternativo en express-fileupload?

Estoy tratando de agregar un texto de etiqueta en el objeto de archivo, pero al cargar en node.js a través de express-fileupload. Está cargando el archivo pero falta la etiqueta.

 const [files, setFiles] = useState([]); const imageLabelChanger = (index, e) => { const value = e.target.value; //insert label and value for specifix image by index files[index].file.label = value; setFiles(files); }; const FD = new FormData(); const createProduct = (e) => { e.preventDefault(); for (let i in files) { FD.append("productImageArray", files[i].file); } dispatch(addProductImage(paramId, FD)); };

Con este código obtengo el objeto de archivos.

consola.log(archivos)

 output: [ { "id": 7, valid: true, "file": File{ label: "oxygen blue", lastModified: 1642222607314, lastModifiedDate: Sat Jan 15 2022 10:26:47 GMT+0530 (India Standard Time) {}, name: "galaxy-8.jpeg", size: 8433, type: "image/jpeg", }, { "id": 8, valid: true, "file": File{ lastModified: 1642222607314, lastModifiedDate: Sat Jan 15 2022 10: 26: 47 GMT+0530(India Standard Time) {}, name: "galaxy-9.jpeg", size: 9458, type: "image/jpeg", } ]

Después de cargar el archivo, obtengo el objeto del archivo pero no obtengo el objeto de los archivos reales que envié usando formData, la clave de etiqueta y falta su valor

console.log(req.files.productImages)

 output: [ { lastModified: 1642222607314, lastModifiedDate: Sat Jan 15 2022 10:26:47 GMT+0530 (India Standard Time) {}, name: "galaxy-8.jpeg", size: 8433, type: "image/jpeg", data: Binary('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7...', 0) }, { lastModified: 1642222607314, lastModifiedDate: Sat Jan 15 2022 10: 26: 47 GMT+0530(India Standard Time) {}, name: "galaxy-9.jpeg", size: 9458, type: "image/jpeg", data: Binary('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7...', 0) } ]

Por favor, ayúdenme, ¿cómo puedo hacer esas cosas? Creo que este problema es con req.files, puede ser que no requiera ninguna propiedad adicional, así que si hay alguna forma de lograrlo.

Adelanto gracias

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No estoy seguro de si esto es aplicable a su situación, pero generalmente adjunto un objeto 'cuerpo' con los detalles adicionales cuando envío archivos. Algo como esto:

 const [files, setFiles] = useState([]); const imageLabelChanger = (index, e) => { const value = e.target.value; //insert label and value for specifix image by index files[index].file.label = value; setFiles(files); }; const FD = new FormData(); const createProduct = (e) => { e.preventDefault(); for (let i in files) { FD.append("productImageArray", files[i].file); FD.append("productImageArrayLabels", files[i].file.label); // Add another property to the formData here } dispatch(addProductImage(paramId, FD)); };

De esa forma, tendría un objeto de archivos y un objeto de cuerpo en el servidor:

  1. Archivos: productImageArray
  2. Etiquetas de archivo: productImageArrayLabels
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!