在 Laravel 5.8 中上传之前调整图像大小
P粉608647033
2023-09-04 12:56:10
<p>我有这个功能可以通过 Laravel 中的 api 上传图像:</p>
<pre class="brush:php;toolbar:false;">private function handleImage($image)
{
$exploded = explode(',', $image);
$decoded = base64_decode($exploded[1]);
if (Str::contains($exploded[0], 'jpeg')) {
$extension = 'jpg';
} else {
$extension = 'png';
}
$fileName = Str::random() . '.' . $extension;
$path = public_path() . '/images/products/' . $fileName;
$file = file_put_contents($path, $decoded);
$image = '/images/products/' . $fileName;
return $image;
}</pre>
<p>如何在上传之前将图像调整为最大边长 500 像素的大小?</p>
您可以尝试使用 Laravel 中的 Intervention Image 包来调整大小,然后再上传。
安装软件包:
作曲家需要干预/图像
在文件开头添加以下代码以导入所需的类:
使用 Intervention\Image\ImageManagerStatic 作为图像;
使用 Illuminate\Support\Str;
修改handleImage方法,如下所示:
https://github.com/Intervention/image
希望对你有帮助