Skip to content

Instantly share code, notes, and snippets.

@jkomyno
Last active April 20, 2020 13:50
Show Gist options
  • Save jkomyno/667a207301dd6d7dcbe2c0130b09483b to your computer and use it in GitHub Desktop.
Save jkomyno/667a207301dd6d7dcbe2c0130b09483b to your computer and use it in GitHub Desktop.
var express = require('express');
var fs = require('fs');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// connect to mongo
mongoose.connect('localhost', 'img_db');
// example schema
var schema = new Schema({
img: { data: Buffer, contentType: String }
});
// our model
var A = mongoose.model('A', schema);
mongoose.connection.on('open', function () {
console.log('mongo is open');
// empty the collection
A.remove(function (err) {
if (err) throw err;
console.error('removed old docs');
// store an img in binary in mongo
var a = new A;
a.img.data = "YOUR IMAGE RETRIEVED FROM AN ENDPOINT" ;
a.img.contentType = 'image/png';
a.save(function (err, a) {
if (err) throw err;
console.error('saved img to mongo');
// start a demo server
var server = express.createServer();
server.get('/', function (req, res, next) {
A.findById(a, function (err, doc) {
if (err) return next(err);
res.contentType(doc.img.contentType);
res.send(doc.img.data);
});
});
server.listen(3333, function (err) {
var address = server.address();
console.log('server listening on http://%s:%d', address.address, address.port);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment