A Laravel wrapper for Flysystem Azure Blob Storage adapter.
Includes:
- A Service Provider for Laravel
- adding an
azure
disk for Laravel's File Storage abstraction of Flysystem
- adding an
- Integration with Spatie's Media Library providing
- a
AzureBlobUrlGenerator
(https://docs.spatie.be/laravel-medialibrary/v7/advanced-usage/generating-custom-urls)
- a
You can install the package via composer:
composer require diamondbybold/laravel-flysystem-azure-blob-storage
The Service Provider is automatically registered on Laravel >= 5.5.
Configure your disk in config/filesystem.php
'disks' => [
'azure' => [
'driver' => 'azure',
'account' => [
'name' => env('AZURE_ACCOUNT_NAME'),
'key' => env('AZURE_ACCOUNT_KEY'),
],
'endpoint-suffix' => env('AZURE_ENDPOINT_SUFFIX', 'core.windows.net'),
'container' => env('AZURE_CONTAINER', 'public')
]
]
Install and configure Media Library.
Add the following to config/medialibrary.php
'azure' => [
'domain' => 'https://' . env('AZURE_ACCOUNT_NAME') . '.blob.' . env('AZURE_ENDPOINT_SUFFIX') .
'/' . env('AZURE_CONTAINER'),
],
/*
* When urls to files get generated, this class will be called. Leave empty
* if your files are stored locally above the site root or on s3.
*/
'url_generator' => env('MEDIA_LIBRARY_DISK_NAME', 'public') == 'azure'
? \DiamondByBOLD\FlysystemAzureBlobStorage\MediaLibrary\UrlGenerator\AzureBlobUrlGenerator::class
: null,
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email digital@diamondbybold.com instead of using the issue tracker.
This package was made based on A skeleton repository for Spatie's PHP Packages.
The MIT License (MIT). Please see License File for more information.