This is a blaze-only package! Cloudinary provides a simple way for uploading files to Cloudinary, which in turn can be set up to sync with your Amazon S3 service. This is useful for uploading and actively manipulating images and files that you want accesible to the public. Cloudinary is built on Cloudinary (NPM) and Cloudinary (JS). Installing this package will make Cloudinary available server-side and cloudinary available client-side (cloudinary_js feels unstable in certain situations).
This is a quick implementation of the uploader, feel free to fork it and improve on it like so many people did for S3 ^_^. I'm always open for pull requests too.
$ mrt add cloudinary
Configure your Cloudinary Credentials. SERVER SIDE AND CLIENT SIDE.
//SERVER
Cloudinary.config({
cloud_name: 'cloud_name',
api_key: '1237419',
api_secret: 'asdf24adsfjk'
});
//CLIENT
$.cloudinary.config({
cloud_name:"cloud_name"
});
Create a Cloudinary input with a callback function. CLIENT SIDE.
Define a callback function that will handle what to do with Cloudinary's response. SERVER SIDE.
Meteor.methods({
save_url:function(response){
console.log('Add '+response.upload_data+' to the id of '+response.context);
}
});
All of Cloudinary's manipulation options are available in the c_url helper. You can access an image by passing a cloudinary public_id and format:
You can manipulate an image by adding parameters to the helper
Here are all the transformations you can apply: http://cloudinary.com/documentation/image_transformations#reference
Just pass the public_id of the image or file through this function (security features pending). It will return an object with a list of the images deleted as a result.
Meteor.call("cloudinary_delete","public_id",function(e,r){
if(!e){
console.log(r);
}
});
I'll try to use a stream instead so we can get a progress bar on this.