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

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

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