laravel-cloudinary
                                
                                 laravel-cloudinary copied to clipboard
                                
                                    laravel-cloudinary copied to clipboard
                            
                            
                            
                        Laravel Cloudinary filesystem cloud driver.
Laravel Cloudinary
Laravel Cloudinary filesystem driver.
Requirement
Laravel Version Compatibilities
| Laravel | Package | 
|---|---|
| 11.x.x | 5.x | 
| 10.x.x | 4.x | 
| 9.x.x | 3.x | 
| 8.x.x | 2.x | 
| 7.x.x | 2.x | 
| 6.x.x | 2.x | 
Install
Requires this package with composer via command:
composer require yoelpc4/laravel-cloudinary
Environment Variable
Register your Cloudinary account details here. Then add these lines to your .env.
FILESYSTEM_DISK=cloudinary
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_SECURE=true
Filesystem Configuration
Register cloudinary driver configuration in config/filesystems.php at disks section as follows
'cloudinary' => [
    'driver'         => 'cloudinary',
    'api_key'        => env('CLOUDINARY_API_KEY'),
    'api_secret'     => env('CLOUDINARY_API_SECRET'),
    'cloud_name'     => env('CLOUDINARY_CLOUD_NAME'),
    'secure'         => env('CLOUDINARY_SECURE', true),
    'resource_types' => [
        'image' => [
            'png',
            'jpeg',
            'jpg',
        ],
        'video' => [
            'mp4',
            'avi',
            'mp3',
            'flac',
        ],
        'raw'   => [
            'pdf',
            'xlsx',
            'csv',
            'txt',
        ],
    ],
],
The secure option is applied when generating url from storage, when secure = true will use https
otherwise secure = false will use http as protocol.
The resource_types option is applied when generating resource type & public id whenever we call storage method such as
write, writeStream, url, has, etc. Registers the appropriate file extensions according to cloudinary resource type e.g:
png in image, mp4 in video, xlsx in raw, for audio files registers in video. The default resource type is image,
visit image upload api reference for more information.
Tips
To use pre-defined filename as public ID when uploading to cloudinary, you need to tweak some configuration
in Settings -> Upload -> Upload presets as follows:
- 
Click edit button on signed mode preset, initial preset is ml_defaultyou can update it.
- 
Turn on Use filename or externally defined public IDto using the pre-defined filename instead of random characters.
- 
Turn off Unique filenameto prevent cloudinary from adding random characters at the end of filename.
- 
Click Saveand you're good to go.
License
The Laravel Cloudinary is open-sourced software licensed under the MIT license.