aonodevs / laravel-cloudinary-upload
Package to upload images and videos on cloudinary and save their url into model's database
Installs: 1 010
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: ^8.1|^8.2
- cloudinary/cloudinary_php: ^2.11
- illuminate/contracts: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- intervention/image: ^2.7
- spatie/image-optimizer: ^1.7
- spatie/laravel-package-tools: ^1.14.0
This package is auto-updated.
Last update: 2024-11-17 08:13:03 UTC
README
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:
- Use the trait AonoDevs\LaravelCloudinaryUpload\CloudinaryTrait.
- 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.