Giter Site home page Giter Site logo

angular-cloudinary's Introduction

AngularJS Cloudinary

A module heavily inspired (and copied) by Cloudinary JS and Cloudinary Angular but without any non-angular dependency.

Usage

This package is available via Bower:

$ bower install --save angular-cloudinary

Include the following in your HTML:

<script src="/bower_components/ng-file-upload/ng-file-upload-shim.js"></script>
<script src="/bower_components/ng-file-upload/ng-file-upload.js"></script>
<script src="/bower_components/angular-cloudinary/angular-cloudinary.js"></script>

Note that you might need to follow ng-file-upload setup instructions as well.

Upload

You can now capture file input to an angular model and then, in your controller:

angular
// Include the angular-cloudinary module
.module('myModule', ['angular-cloudinary'])
// Configure the cloudinary service
.config(function (cloudinaryProvider) {
  cloudinaryProvider.config({
    upload_endpoint: 'https://api.cloudinary.com/v1_1/', // default
    cloud_name: 'my_cloudinary_cloud_name', // required
    upload_preset: 'my_preset', // optional
  });
})
// Inject the `cloudinary` service in your controller
.controller('myController', function($scope, cloudinary) {
  // Have a way to see when a file should be uploaded
  $scope.$watch('myFile', function(myFile) {
    // Use the service to upload the file
    cloudinary.upload(myFile, { /* cloudinary options here */ })
    // This returns a promise that can be used for result handling
    .then(function (resp)) {
      alert('all done!');
    };
  });
});

You might want to use Cloudinary signed presets for security reason. You will need to generate a signed set of cloudinary options with any of the backend Cloudinary library and return that to your client AngularJS application so that it can be fed to cloudinary.upload's options.

Display a Cloudinary image

To view an image you usually want to use the cl-src directive as documented in Cloudinary Angular. The version in this repository has some additions like:

  • better sorting of transformation attributes to generate valid Cloudinary urls
  • using dpr="auto" will auto-detect the current browser retina pixel ratio

A full list of available attributes documentation might be available in the future.

<img cl-src="my_image_public_id"
  width="100"
  height="100"
  crop="fill"
  dpr="auto"
  fetch-format="auto"
  alt="">

License

Released under the MIT license.

angular-cloudinary's People

Contributors

thenikso avatar ianforsyth avatar landofcash avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.