coreproc / laravel-minio-media-library-provider
0.2.0
2024-09-10 03:27 UTC
Requires
- league/flysystem-aws-s3-v3: ^3.0
- spatie/laravel-medialibrary: ^10.0|^11.0
This package is auto-updated.
Last update: 2024-09-10 03:33:01 UTC
README
此包修复了 spatie/laravel-media-library 中的一个功能,当使用 Minio 时,生成的临时 URL 不正确。它返回了一个无法在 Docker 应用程序网络之外访问的端点 URL。这将确保生成的临时 URL 可以在 Docker 应用程序网络之外访问。
这假设您有一个 Minio 容器在您的 Laravel 应用程序相同的 Docker 网络上运行。
安装
composer require coreproc/laravel-minio-media-library-provider
发布配置文件
php artisan vendor:publish --provider="Coreproc\LaravelMinioMediaLibraryProvider\MinioServiceProvider"
用法
请确保您已设置以下环境变量
MINIO_URL=http://localhost:9001
尽管如此,当使用 CoreProc 的 Laravel Docker 时,这已经通过我们的 docker-compose.yml
文件中设置的环境变量为您设置好了。
如果未设置 MNIO_URL
,则默认 Laravel 媒体库 URL 生成器不会发生变化。在生产环境中,如果您不想使用临时 URL 生成器,这将非常有用。
接下来,将您的 config/media-library.php
文件中的 url_generator
更改为此包中的 UrlGenerator
'url_generator' => \Coreproc\LaravelMinioMediaLibraryProvider\UrlGenerator::class,
就这样!您现在应该能够正确生成托管在 Minio 上的媒体文件的临时 URL。
如果您有任何不想通过 MINIO_URL 路由的 S3
磁盘,您可以在 config/filesystems.php
文件中的磁盘上添加 is_minio => false
return [ 'disks' => [ ... 'other-s3' => [ 'driver' => 's3', ... 'is_minio' => false, ], ], ];