Skip to content

Instantly share code, notes, and snippets.

@leedo
Created June 30, 2011 22:27
Show Gist options
  • Select an option

  • Save leedo/1057440 to your computer and use it in GitHub Desktop.

Select an option

Save leedo/1057440 to your computer and use it in GitHub Desktop.
GridFS file server
mongo = require "mongodb"
express = require "express"
app = express.createServer()
server = new mongo.Server "127.0.0.1", 27017, {auto_reconnect: true}
db = new mongo.Db "ars_api_development", server
send_image = (req, res, db) ->
image_id = req.params[0]
store = new mongo.GridStore db, image_id, "r"
store.open (err, store) ->
return res.send 404 if err
store.read (err, data) ->
return res.send 500 if err
res.contentType store.contentType
res.send data, {"Content-Length": store.length}
app.get /^\/([0-9a-f]+)$/, (req, res) ->
if db.state == "connected"
send_image req, res, db
else
db.open (err, db) ->
return res.send 500 if err
send_image req, res, db
app.listen 3000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment