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

146
Views
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 answers
Answer question

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 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!