A Cloudinary Wrapper for Adonis 5
Install with either npm
or yarn
.
npm i adonisjs-cloudinary
yarn add adonisjs-cloudinary
And initialise the package
node ace configure adonisjs-cloudinary
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.
Add variables to .env
file of project.
...
CLOUDINARY_CLOUD_NAME=YOUR_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_KEY
CLOUDINARY_API_SECRET=YOUR_SECRET
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.
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',
}