Skip to content

Instantly share code, notes, and snippets.

@hengkiardo
Forked from xjamundx/uploadapp.js
Created April 7, 2013 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hengkiardo/5331229 to your computer and use it in GitHub Desktop.
Save hengkiardo/5331229 to your computer and use it in GitHub Desktop.
// middleware
app.use(express.bodyParser({ keepExtensions: true, uploadDir: __dirname + "/public/uploads" }))
// later
app.get('/photos', uploadFile, addPhoto)
// file is automatically saved to /public/uploads, let's just set
function uploadFile(req, res, next) {
if (req.files) {
req.body.url = "http://myawesomesite.com/" + req.files.file.path.split("/").slice(-2).join("/")
req.body.path = req.files.file.path.split("/").slice(-2).join("/")
}
next()
}
// file upload is optional, it could have come before
function addPhoto(req, res) {
var eventId = req.param("eventId")
var e = req.body
var userId = e.userId ? new ObjectId(e.userId) : undefined
var photo = new Photo({
userId : userId
, eventId : new ObjectId(e.eventId)
, latitude : e.latitude
, longitude : e.longitude
, path : e.path
, url : e.url
, type : e.type
, title : e.title
, description : e.description
})
photo.save(function(err) {
if (err) return res.send(err.message, 500)
res.json("OK")
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment