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

162
Visualizações
¿Cómo mostrar imágenes desde el servidor nodejs?

Tengo que mostrar la imagen que está almacenada en el servidor y la imagen está almacenada en la base de datos de esta manera:

 {"_id":{"$oid":"61bc353829247781224cd5b0"}, "name":"Chicken Breast", "type":"protein", "image":"https://mmr-allapi.herokuapp.com/allfoodapi/fooduploads\\Pollo.png", "__v":0}

La solicitud posterior de esta ruta es así:

foodrouter.post('/addprotein',upload.single('image'),(req,res,next)=>{

 const protein = new Protein({ _id:mongoose.Types.ObjectId(), name:req.body.name, type:req.body.type, image:"https://mmr-allapi.herokuapp.com/allfoodapi/"+req.file.path // image:"localhost:5000/allfoodapi/"+req.file.path }); protein.save().then(result=>{ res.status(201).json({ message:"Protein added" }) }) .catch(err=>{ res.status(500).json({ error:err }) })

});

así es como se muestra la API

 { "protein": [ { "name": "Egg", "type": "protein", "image": "https://mmr-allapi.herokuapp.com/allfoodapi/fooduploads/Egg.png" }, { "name": "Chicken Breast", "type": "protein", "image": "localhost:5000/allfoodapi/fooduploads\\Pollo.png" }, { "name": "Chicken Breast", "type": "protein", "image": "https://mmr-allapi.herokuapp.com/allfoodapi/fooduploads\\Pollo.png" }, { "name": "Chicken Breast", "type": "protein", "image": "localhost:5000/allfoodapi/fooduploads\\Pollo.png" }, { "name": "Chicken Breast", "type": "protein", "image": "https://mmr-allapi.herokuapp.com/allfoodapi/fooduploads\\Pollo.png" } ] }

y aquí está mi ruta para mostrar la imagen

 foodrouter.get("/fooduploads/:str", (req, res) => { console.log(req.params.str) console.log(req.url) res.sendFile(path.join(__dirname, `../fooduploads/${req.params.str}`)); });

pero aquí el problema es que cuando hago clic en el enlace de la imagen que está almacenado en la base de datos ( https://mmr-allapi.herokuapp.com/allfoodapi/fooduploads\\Pollo.png ), entonces soy redirigido a la imagen por el enrutamiento de la imagen, pero el problema es cuando envié este enlace a otra persona y mientras usaba este enlace en el front-end esto no funciona, estaba diciendo

 Cannot GET /allfoodapi/fooduploads//Pollo.png

como puedo solucionar esto por favor ayuda

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Veo que está guardado así:

 { "name": "Chicken Breast", "type": "Protein", "image": "https://images-prod.healthline.com/hlcmsresource/images/AN_images/baked-whole-chicken-1296x728.jpg" },

Y la imagen detrás de este enlace es un jpeg adecuado con un bonito pollo al horno. Parece que su base de datos solo guarda enlaces a las imágenes, no las imágenes en sí. Este pollo en particular, por ejemplo, se almacena en AWS S3, otras imágenes se almacenan en diferentes recursos.

Bueno, aparte del huevohttps://mmr-allapi.herokuapp.com/allfoodapi/fooduploads/Egg.png Este técnicamente funciona, pero no se ve tan sabroso como el pollo.

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