Symfony2 - base64_decode 在树枝中

Symfony2 - base64_decode in 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();

它有效,但是当我使用 render$logo 发送到我的模板时,图片没有显示 {{ logo }}。我也尝试创建自己的树枝函数,但也不起作用...

有解决办法吗?

谢谢

您尝试如何在模板中显示图像?如果您使用 base64 编码的字符串,您可能需要在图像标签中添加 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" />