johntout / laravel-image-sizes
Laravel 图像尺寸包
1.4.2
2024-08-07 08:37 UTC
Requires
- php: >=8.0
- intervention/image-laravel: ^1.2
- laravel/framework: >=9.0
README
一个用于存储不同尺寸图像的 Laravel 包。还提供了各种视频提供者 URL 的选项。
此包是为一个个人项目创建的,我发布它是为了以防有其他人有同样的需求。干杯 :)
要求
PHP 8+
Laravel 9+
安装
步骤 1: 使用 composer 安装 johntout/laravel-image-sizes
composer require johntout/laravel-image-sizes
该包使用 intervention/image 包进行图像处理。在使用 laravel-image-sizes 包之前,请确保查阅 intervention/image 文档 以了解与 Laravel 的集成。
步骤 2: 发布配置文件
php artisan vendor:publish --tag="laravel-image-sizes-config"
如果您想使用 Twitch 视频提供者将播放器嵌入到您的应用程序中,请将以下内容添加到您的 .env 文件中。
APP_DOMAIN=yourdomain.com
用法
使用属性或 Laravel 属性设置您希望创建图像的磁盘和目录。该包使用 Laravel 的文件系统。图像的不同尺寸在配置文件中定义。
class User extends Model { use JohnTout\LaravelImageSizes\HasMedia; public string filesystem_disk = 'avatars'; public string image_field = 'avatar'; // OR /** * @return Attribute */ public function filesystemDisk(): Attribute { return Attribute::make( get: fn () => 'avatars' ); } /** * @return Attribute */ public function imageField(): Attribute { return Attribute::make( get: fn () => 'avatar' ); } }
$user = User::query()->find(1); $user->saveImage($request->file('image'));
您可以使用以下方式获取图像 URL
$user->imageUrl(size: 'originalImage');
注意
该包使用 v2 intervention/image 包。有关图像处理选项的更多信息,请参阅 intervention/image 文档。