如何使用干预图像laravel将webp图像转换为jpeg或png
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用干预图像laravel将webp图像转换为jpeg或png相关的知识,希望对你有一定的参考价值。
我正在使用Laravel Framework(php)开发一个应用程序。我想上传具有webp格式的图像,然后将其转换为jpeg或png图像格式。转换图像后,我还想将其上传到s3存储桶。
答案
首先我们可以使用Intervention Image库。我们必须安装php 7和gd库。我正在编写下面的命令来安装gd库和webp库(对于ubuntu):
sudo apt-get update
sudo apt-get install webp
sudo apt-get install php7.0-gd (check php version and then install accordingly)
现在检查文件扩展名,如果扩展名是webp,请选择输出文件扩展名
$extension = $this->file->extension();
if($this->file->getMimeType() == 'image/webp'){
$extension = 'png';
}
// Generate a random filename
$fileName = time() . '_' . strtolower(uniqid()) . '.' . $extension;
现在将图像编码为所需的格式
if($this->file->getMimeType() == 'image/webp'){
$image = $image->encode($extension);
}
$image = $image->stream();
现在将图像上传到s3存储桶
Storage::disk('s3')->put($folderName . '/' . $fileName, $imageNormal->__toString());
以上是关于如何使用干预图像laravel将webp图像转换为jpeg或png的主要内容,如果未能解决你的问题,请参考以下文章
通过 Linux 命令将 WEBP 图像转换为 PNG [关闭]
Javascript 将图像加载到 Offscreen Canvas 中,执行 webp 转换