Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda