Laravel-Spatie Medial图书馆

问题描述

在Laravel 5.8项目中,我正在使用Spatie Media Library插件来处理图像。现在,我想使用Intervention Image插件进行一些调整大小和裁剪。

这是我的代码的一部分:

if ($request->input('thumbnail',false)) {
   $automobil->addMedia(storage_path('tmp/uploads/' . $request->input('thumbnail')))->toMediaCollection('thumbnail');
}

如何在此代码中包含Image类?或如何调整其大小并适合适当的尺寸?我通常这样使用它:

$image = $request->file('image');
$filename = $image->getClientOriginalName();

//Fullsize
$image->move(public_path().'/uploads/'.'/products/'.'/original/',$filename);

$image_resize = Image::make(public_path().'/uploads/'.'/products/'.'/original/'.$filename);
//watermark add
$image_resize->insert(public_path('watermark/watermark.jpg'),'bottom-right',300,50);
$image_resize->fit(1280,720);
$image_resize->save(public_path('uploads/products/original/' .$filename));

但是media library不允许我这样使用它,因为它会将图像保存在其他文件夹和其他数据库表中。

我不想使用MediaConversion

解决方法

对缩略图集中的大/全尺寸图片进行转换

$mediaItems = $yourModel->getMedia('thumbnail');
$image_resize = Image::make($mediaItems[0]->getPath('yourfullsizeconversion'));
,

尝试一下

$image = $request->file('image');
$filename = $image->getClientOriginalName();
$location = public_path('uploads/products/original/' . $filename);       
$image_resize = Image::make($image)->insert(public_path('watermark/watermark.jpg'),'bottom-right',300,50)->fit(1280,720)->save($location);// Image save and check image in public/uploads/products/original folder.