/vue-uppy-cloudinary

A VueJs based uploader that utilizes Uppy.io and Cloudinary

Primary LanguageJavaScriptMIT LicenseMIT

Vue-Uppy-Cloudinary

GitHub issues GitHub license

A VueJs based uploader that utilizes Uppy.io and Cloudinary.

Demo

Install

npm install vue-uppy-cloudinary --save

Use in existing component

Import VueUppyCloudinary component and CSS

import VueUppyCloudinary from 'vue-uppy-cloudinary';
import 'vue-uppy-cloudinary/dist/lib/vue-uppy-cloudinary.min.css'

Add to component

 components: {
    VueUppyCloudinary,
  },

Include component in VueJS template

Sign up with Cloudinary for a free account. Input your cloud name and define a unsigned upload preset. The preset will define which transformations to apply to the uploaded image or video and the allowed filetypes and sizes.

 <vue-uppy-cloudinary
      preset="[your-cloudinary-preset]"
      cloudName="[your-cloudinary-cloud-name]"
    />

##Complete component using vue-uppy-cloudinary

<template>
  <div id="app">
    <h1>Demo</h1>
    <vue-uppy-cloudinary
          preset="b0gbylpo"
          cloudName="lthekxbe9"
          @uploaded="uploaded"
        />
  </div>
</template>

<script>
  import VueUppyCloudinary from 'vue-uppy-cloudinary';
  import 'vue-uppy-cloudinary/dist/lib/vue-uppy-cloudinary.min.css'

  export default {
    components: {
      VueUppyCloudinary,
    },
    methods: {
      uploaded(data) {
        console.log(data);
      }
    },
  }
</script>

Properties

Property Description Default Required
cloudName Cloudinary cloud name N/A Yes
preset Unsigned upload preset N/A Yes
buttonText Upload button text Upload No
minNumberOfFiles Min number of selected files before upload is enabled 1 No
minNumberOfFiles Maximum number of files to upload 10 No
maxFileSize Maximum files size 40MB No
allowedFileTypes Comma separated list of file types allowed to upload (client side validation) /image/*, video/* No
tags Array of tags to add as metadata to Cloudinary upload [] No
autoProceed Should upload start automatically after selecting photos/videos false No
showProgressDetails Show progress information during upload true No
closeModalOnClickOutside Close modal dialog when clicking outside of frame true No
buttonStyle CSS class to add to the button default style No

Events

Event Description
uploaded Fired when upload completes. Contains the data object returned from Cloudinary
upload-progress Fired during upload. Contains a standard XHR progress object

Uploaded event

The uploaded event will contain data from Cloudinary such as image url (http and https), public_id, resource_type, etag, format and so on. The payload will differ depending on your assigned upload preset