[英]“Unable to read image” error while uploading svg image in laravel 4
我有代码,可用于jpg,png图像调整图像大小,这里是代码示例。
$image = Image::make("{$filePath}/{$fileName[0]}");
// Get the maximum uploaded image width
$maxWidth = Config::get('constants.max_uploaded_image_width');
// Resize the image
$image->resize($maxWidth, null, function($constraint)
{
// Set an aspect ratio constraint
$constraint->aspectRatio();
// Prevent upsizing
$constraint->upsize();
});
// Save the image
$image->save("{$filePath}/{$fileName[0]}");
这个与jpg
和png
图像一起工作很好,但是当我使用svg
,它将返回错误,如Unable to read image from file
。 有解决方案吗
Intervention Image
不支持SVG
:
http://image.intervention.io/getting_started/formats
您可以使用ImageMagick来使用SVG
。
您可能不希望调整SVG图像的大小。 所以解决方案是获取MIME-TYPE并跳过调整大小:
if($image->mime() != 'text/svg+xml') {
// resize
}
基本上SVG代表可缩放矢量图形,它的类型与任何其他图像不同,它在Web浏览器中是开放的,所以有不同的集成方式以下是如何集成它的方式。
1)将SVG文档转换为PHP文档。 2)使用object和embed元素在XHTML文档中包含SVG文档。 3)使用PHP的echo命令生成SVG。 4)使用phpHtmlLib库生成SVG。 5)使用PEAR :: XML_SVG包生成SVG文档。 6)使用PEAR :: Image_Canvas包生成SVG文档。 7)集成PHP,SVG和AJAX。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.