New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

aonodevs/laravel-cloudinary-upload

Package to upload images and videos on cloudinary and save their url into model's database
2,056 1
Install
composer require aonodevs/laravel-cloudinary-upload
Latest Version:2.4.0
PHP:^8.1|^8.2
Laravel:10 – 13
License:MIT
Last Updated:May 27, 2026
Links: GitHub  ·  Packagist
Maintainer: aonoagency

Package to upload images and videos on cloudinary and save their url into model's database

Latest Version on Packagist Total Downloads

This package provides a trait that adds cloudinary upload behavior to a Eloquent model.

It will save the url returned by cloudinary when you want to save an image or video for creation or modification.

Old images or videos will be removed from cloudinary if the model is deleted or updated.

Installation

You can install the package via composer:

composer require aonodevs/laravel-cloudinary-upload

You can publish the config file with:

php artisan vendor:publish --tag="cloudinary-upload-config"

This is the contents of the published config file:

return [
    /*
     * Your cloudinary upload url
     */
    "url" => env('CLOUDINARY_URL')
];

Usage

To add cloudinary upload behaviour to your model you must:

  1. Use the trait AonoDevs\LaravelCloudinaryUpload\CloudinaryTrait.
  2. Write your different fillable attribute which will take into account the url record returned by cloudinary. You must differentiate between images and videos using $cloudinary_image and $cloudinary_video respectively

Exemple

use AonoDevs\LaravelCloudinaryUpload\CloudinaryTrait;
// ...

class Article extends Model
{
    use CloudinaryTrait;

    protected $fillable = [
        'title',
        'header_img', // Image
        'footer_img', // Image
        'content_video', // Video
    ];

    protected array $cloudinary_image = ['header_img', 'footer_img'];
    
    protected array $cloudinary_video = ['content_video'];
    
    // ...
}

If you don't set a value $cloudinary_image or $cloudinary_image the package will assume that none of your attributes will need to be a cloudinary one and will not run cloudinary upload and url saving.

Credits

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

651,963,193 9,701
laravel/framework

The Laravel Framework.

604,216,237 34,982
laravel/tinker

Powerful REPL for the Laravel framework.

518,004,183 7,444
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

435,097,283 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

407,699,310 4,663

Version History

Version Released PHP Laravel License
2.4.0 ^8.1|^8.2 ^10.0|^11.0|^12.0|^13.0 MIT
2.3.1 ^8.1|^8.2 ^10.0|^11.0|^12.0 MIT
2.3.0 ^8.1|^8.2 ^10.0|^11.0|^12.0 MIT
2.2.2 ^8.1|^8.2 ^10.0|^11.0|^12.0 MIT
2.2.1 ^8.1|^8.2 ^10.0|^11.0 MIT