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

478
Views
Node.js - Display image from MongoDB

I managed to save image to mongoDB with type Buffer. Together with the image is the username of the user currently logged in. MY problem now is to display the image(s) to the client's side. Much appreciated if it has a condition like "display image where username = 'currentUser_username'". I also have an 'uploads' folder where the images are saved. Please help. I'm a newbie in nodeJS. Please be very detailed in ur answer. Thanks

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

To send the image to the client, you need to save image binary data, image content type.

The structure of your schema should be like this.

var demoSchema = new mongoose.Schema({
    imageData : { type: Buffer },
    imageType : {type: String },
    imageName : {type: String }
})

mongoose.model('Demo', demoSchema)

On saving your image to DB, save the content type too (must).

var data = fs.readFileSync(incomingImage.path);
var input = new Demo():
input.image = new MongoDb.Binary(data);
input.imageType = incomingImage.type;
input.imageName = incomingImage.name;

input.save();

When you retrieve from DB and send the contentType and mention the buffer as binary to the client.

Demo.findById(req.params.id, function (error, result) {
    res.contentType(result.imageType);    
    res.end(result.image.buffer, "binary");
});

If you need some brief detail see here

about 4 years ago · Santiago Trujillo 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!