小树枝中的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" />