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
Add this repository to your composer.json file:
{
"repositories":
[
{
"type": "vcs",
"url": "https://github.com/talvbansal/laravel-flysystem-azure-blob-storage"
}
],
...
}
Then install the package via composer:
composer require diamondbybold/laravel-flysystem-azure-blob-storage
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'),
'url' => env('AZURE_STORAGE_URL', null),
]
]
Install and configure Media Library.
Add the following to config/media-library.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_DISK', 'public') == 'azure'
? AzureBlobUrlGenerator::class
: Spatie\MediaLibrary\Support\UrlGenerator\DefaultUrlGenerator::class,
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 [email protected] 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.