繁体   English   中英

在laravel 4中上传svg图像时出现“无法读取图像”错误

[英]“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]}");

这个与jpgpng图像一起工作很好,但是当我使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM