Symfony2 - 树枝中的base64_decode

时间:2015-06-25 08:31:29

标签: php symfony service base64 twig

我需要在我的树枝模板中显示图片。我在控制器中将此图片作为base64中的字符串编码,因此我在我的服务中创建了一个个人函数来解码base64:

public function base64ToImg($base64)
{
    $img_str = 'image/png;base64,'.$base64;
    $img_data = explode(";",$img_str);
    $type_img = $img_data[0];
    $final_img = explode(",",$img_data[1]);
    header("Content-type:".$type_img);

    return base64_decode($final_img[1]);
}

并在我的控制器中:

$logo = $this->container->get('services.utils')->base64ToImg($mydata);
echo $logo;
die();

虽然有效但是当我使用$logorender发送到我的模板时,图片不会显示{{ logo }}。我也尝试创建自己的树枝功能,但也不起作用......

有解决方案吗?

由于

1 个答案:

答案 0 :(得分:2)

您是如何尝试在模板中显示图像的?如果您使用base64encoded字符串,则可能需要在图片代码中使用data:image/png;base64,encoded string

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

其他选项是保存到文件或使用脚本显示图像

<img alt="Embedded Image" src="/controller/image?id=foo" />