laravel - 在 laravel 5.4 中调整图像大小的 API
问题描述
我正在使用 laravel 5.4 开发营销网站,我需要在网站上上传和加载大量图片,如果我每次都加载原始图片,它会变慢。所以我需要你的建议*
- 我应该以两种质量存储图像吗?(原始和调整大小)
- 存储原始图像,当它们加载到屏幕上时调整它们的大小?(需要一个API)
请分享一些想法和解决方案!如果你有这样的API,请分享!
解决方案
Laravel 没有默认的图像大小调整。但是大多数 laravel 开发人员在处理图像时使用“图像干预”。(便于使用)
要安装(图像干预):
第 1 步运行
composer require intervention/image
第 2 步在您的 config/app.php 上:
在 $providers 数组中,添加以下内容:
Intervention\Image\ImageServiceProvider::class
在 $aliases 数组中,添加以下内容:
'Image' => Intervention\Image\Facades\Image::class
如果您有问题,您的 GD 库丢失,请安装它
PHP5: sudo apt-get install php5-gd
PHP7: sudo apt-get install php7.0-gd
~~ 在你的控制器上使用 ~~
第 3 步在控制器顶部
use Intervention\Image\ImageManagerStatic as Image;
STEP 4 关于你的方法(有几种方法,但这会给你一个想法)
if($request->hasFile('image')) {
$image = $request->file('image');
$filename = $image->getClientOriginalName();
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(300, 300);
$image_resize->save(public_path('images/ServiceImages/'
.$filename));
}