我在我的 Laravel 项目之一中使用 Varbox。
我有一个名为 Post 的自定义实体。 每个帖子都可以有一个 main_image 和一个 cover_image。
如何使用 Varbox 媒体库为这 2 种图像类型定义不同的样式?
我看到有一个
config/varbox/upload.php
用于定义图像样式,但我想知道是否可以定义单独的样式
确实有一个名为
config/varbox/upload.php
的配置文件,但它充当整个上传功能的通用配置。
要实现您想要的目标,您必须通过实现
Post
特征上存在的 getUploadConfig
方法来自定义配置,特别是针对您的 Varbox\Traits\HasUploads
模型。
以下是供参考的文档部分:https://varbox.io/docs/1.x/file-uploads#specific-model-configurations
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Varbox\Traits\HasUploads;
class Post extends Model
{
use HasUploads;
/**
* Get the specific upload config parts for this model.
*
* @return array
*/
public function getUploadConfig()
{
return [
'images' => [
'styles' => [
'main_image' => [
'square' => [
'width' => '100',
'height' => '100',
'ratio' => true,
]
],
'cover_image' => [
'landscape' => [
'width' => '800',
'height' => '100',
'ratio' => true,
]
],
],
],
];
}
}
此外,在显示图像时,您可能需要考虑不同的设备分辨率,从而为您的
main_image
和 cover_image
创建多种样式并相应地显示它们。