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

142
Vistas
La imagen no se muestra en mi aplicación de administración

Estoy creando una aplicación de administración donde quiero mostrar imágenes cargadas de productos almacenados en la base de datos. He subido imágenes como una identificación de objeto en MongoDB. Pero el contenedor de imágenes en la aplicación de administración muestra la cantidad de imágenes almacenadas en la base de datos. Pero las imágenes no se muestran. Intenté usar la URL absoluta también, pero tampoco funciona.

Aquí está mi código para subir imágenes:

 {productPictures.length > 0 ? productPictures.map((pic, index) => ( <div key={index}>{pic.name}</div> )) : null} <input type="file" name="productPictures" onChange={handleProductPictures} />

Aquí está el código para mostrar las imágenes:

 <label className="key">Product Pictures</label> <div style={{ display: "flex" }}> {productDetails.productPictures.map((picture) => ( <div className="productImgContainer"> <img src={generatePublicUrl(picture.img)} alt="" /> </div> ))} </div>

La función Generar URL se ve así:

 const api ='http://localhost:2000/' // const api = 'http://192.168.0.104:2000/' const generatePublicUrl = (fileName) => { return `http://localhost:2000/src/uploads/products/${fileName}`; } export { api, generatePublicUrl };

Función para guardar el producto en la base de datos:

 const createProduct= (req, res) => { const { name, price, description, category, quantity, createdBy } = req.body; let productPictures = []; if (req.files.length > 0) { productPictures = req.files.map((file) => { return { img: file.location }; }); } const product = new Product({ name: name, slug: slugify(name), price, quantity, description, productPictures, category, createdBy: req.user._id, }); product.save((error, product) => { if (error) return res.status(400).json({ error }); if (product) { res.status(201).json({ product, files: req.files }); } }); }

Las imágenes cargadas en el programa se ven así: Abrir imagen aquí

Pero la página muestra un área en blanco y el nombre del archivo se muestra indefinido cuando se inspecciona. Abrir imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que está tratando de agregar una non-public path a la fuente. debe agregar los archivos a la carpeta public para que pueda llamar a los activos usando la ruta; de lo contrario, puede importar las images y luego agregarlas al atributo src

Edición 1:

 return `http://localhost:2000/src/uploads/products/${fileName}`;

esto no funcionará, no puede acceder a lo que dentro del src, la única carpeta a la que puede acceder es la carpeta public

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