Skip to content

Instantly share code, notes, and snippets.

@remotevision
Created October 5, 2013 00:15
Show Gist options
  • Save remotevision/6834926 to your computer and use it in GitHub Desktop.
Save remotevision/6834926 to your computer and use it in GitHub Desktop.
Store array of images and return name, url for each
exports.storeImages = function(images, metadata, callback){
try {
if(!images) callback([]);
if(images.length == 0) callback([]);
var schema = {owner: String};
gridfstore.register('bandwango', schema);
var results = [];
var count = 0;
_.each(images, function(image) {
console.log("************* store image *************")
var base64data = image.data.replace(/^data:image\/png;base64,|^data:image\/jpeg;base64,|^data:image\/jpg;base64,|^data:image\/bmp;base64,/, "");
var binary = new Buffer(base64data, 'base64');
gridfstore.store( metadata, binary, function(error, meta){
if(!error) {
var tmp = new Object();
tmp.name = image.name;
tmp.data = server.baseURL()+'/1/images/'+meta.filename;
results.push(tmp);
}
count++;
if(count >= images.length) callback(results);
});
});
}
catch (ex){
callback(null);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment