If you want to resize Image on Laravel Website.
There is laravel vendor laravel-medialibrary
This vendor can resize your image into a new size. here it is
$this->addMediaConversion('main')->width(800);
$this->addMediaConversion('front')->width(500);
This will converte 800width of your current image size
app\images.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\Models\Media;
class Image extends Model implements HasMedia
{
use SoftDeletes, HasMediaTrait;
public $table = 'images';
protected $appends = [
'photo',
];
public static $searchable = [
'name',
'photo',
];
protected $dates = [
'created_at',
'updated_at',
'deleted_at',
];
protected $fillable = [
'name',
'created_at',
'updated_at',
'deleted_at',
];
public function registerMediaConversions(Media $media = null)
{
$this->addMediaConversion('thumb')->width(200)->height(200);
$this->addMediaConversion('main')->width(800);
$this->addMediaConversion('front')->width(500);
}
public function getPhotoAttribute()
{
$files = $this->getMedia('photo');
$files->each(function ($item) {
$item->url = $item->getUrl();
$item->thumbnail = $item->getUrl('thumb');
});
return $files;
}
}
No comments:
Post a Comment