ravensborn/laravel-minio-media-library-provider

dev-master 2024-02-19 06:00 UTC

This package is auto-updated.

Last update: 2024-09-19 07:05:22 UTC


README

此包修复了 spatie/laravel-media-library 中的一项功能,当使用 Minio 时,会生成错误的临时 URL。它返回一个端点 URL,该 URL 在 Docker 应用程序网络之外无法访问。这将确保生成的临时 URL 在 Docker 应用程序网络之外可以访问。

这假设您有一个 Minio 容器在您的 Laravel 应用程序相同的 Docker 网络上运行。

安装

composer require coreproc/laravel-minio-media-library-provider

发布配置文件

php artisan vendor:publish --provider="Coreproc\LaravelMinioMediaLibraryProvider\MinioServiceProvider"

用法

确保您已设置以下环境变量

MINIO_URL=https://: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,
        ],
    ],
];