coreproc/laravel-minio-media-library-provider

0.2.0 2024-09-10 03:27 UTC

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,
        ],
    ],
];