我正在使用 Spatie 媒体库来管理我的 laravel 应用程序中的媒体。问题是即使上传的文件很小,它也会生成超大的图像,从而导致图像像素化。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class Post extends Model implements HasMedia
{
use InteractsWithMedia;
public function registerMediaConversions(Media $media = null) : void
{
$this->addMediaConversion('thumb')
->width(100);
$this->addMediaConversion('xs')
->width(320);
$this->addMediaConversion('sm')
->width(640);
$this->addMediaConversion('md')
->width(768);
$this->addMediaConversion('lg')
->width(1024);
$this->addMediaConversion('xl')
->width(1280);
}
public function registerMediaCollections() : void
{
$this->addMediaCollection('images');
}
}
以上是我的型号代码。假设如果我上传宽度为 700 像素的图像,它还会生成md
、lg
和xl
图像。
如何防止大于上传图片宽度的媒体转换?