adonisjs-cloudinary

[![npm-image]][npm-url] [![license-image]][license-url] [![typescript-image]][typescript-url]

Usage no npm install needed!

<script type="module">
  import adonisjsCloudinary from 'https://cdn.skypack.dev/adonisjs-cloudinary';
</script>

README

AdonisJS Cloudinary

npm-image license-image typescript-image

A Cloudinary Wrapper for Adonis 5

Installation

Install with either npm or yarn.

npm i adonisjs-cloudinary
yarn add adonisjs-cloudinary

And initialise the package

node ace configure adonisjs-cloudinary

How to use

Step 1: Get your API key and API secret

Upon creating a Cloudinary account, you will be given your API key and API secret. If you already have an account, you can find these in your account settings under the "Security" section.

Your cloud name will be under found in the "Account" section of your settings.

Step 2: Initialisation

Add variables to .env file of project.

...
CLOUDINARY_CLOUD_NAME=YOUR_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_KEY
CLOUDINARY_API_SECRET=YOUR_SECRET

Step 3: Upload an image

You can upload an image to Cloudinary using the upload method passing in the file path and a public ID.

import cloudinary from '@ioc:Adonis/Addons/Cloudinary'

await cloudinary.upload(filePath, publicId)

You can alternatively pass in a file object

public async store({ request }: HttpContextContract) {
    const file = request.file('your_file')
    if (file) {
        await cloudinary.upload(file, file.clientName)
    }
}

The upload method returns an object the contains the image's public ID, URL, secure URL, and more if the upload is successful.

Step 4: Show your image

To get the URL for your image, you can use the show method, passing in your public ID and optionally an object containing your transformation options.

const url = cloudinary.show('your_public_id')

By default, this method will use the transformation options found in the cloudinary.ts config file:

{
    transformation: {
        format: 'png',
    },
    width:  150,
    height: 150,
    crop:   'fit',
}