Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda