gpt4 book ai didi

symfony - 在 symfony 中显示存储在 BLOB 数据库中的图像

转载 作者:行者123 更新时间:2023-12-01 09:24:12 25 4
gpt4 key购买 nike

我在我的 GETer 实体中加载我的图像(blob 数据)当我在 GETer 中返回 ($this->foto) 时,我在屏幕上看到:Resource id #284当我像这样更改我的 GETer 时: return stream_get_contents($this->foto);我看到了这些:���� JFIF��� ( ,,,,,,,, ( 和更多 )

在我的 Controller 中调用 index.html.twig 以显示我的所有实体

    /**
* Lists all Producten entities.
*
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();

$entities = $em->getRepository('CustomCMSBundle:Producten')->findAll();

return $this->render('CustomCMSBundle:Producten:index.html.twig', array(
'entities' => $entities,
));
}

现在在我看来 (index.html.twig) 我喜欢展示图片

       {% for entity in entities %}
<tr>
<td>
<img src="{{ entity.foto}}" alt="" width="80" height="80" />
</td>
<td>
{{ entity.foto }}
</td>
<td>
<ul>
<li>
<a href="{{ path('cms_producten_show', { 'id': entity.id }) }}">show</a>
</li>
<li>
<a href="{{ path('cms_producten_edit', { 'id': entity.id }) }}">edit</a>
</li>
</ul>
</td>
</tr>
{% endfor %}

但我没有看到图片?

谁能帮帮我?

最佳答案

您正在使用 <img src="(raw image)">而不是 <img src="(image's url)">

一种快速的解决方案是将您的图像编码为 base64 并将其嵌入。

Controller

$images = array();
foreach ($entities as $key => $entity) {
$images[$key] = base64_encode(stream_get_contents($entity->getFoto()));
}

// ...

return $this->render('CustomCMSBundle:Producten:index.html.twig', array(
'entities' => $entities,
'images' => $images,
));

查看

{% for key, entity in entities %}
{# ... #}
<img alt="Embedded Image" src="data:image/png;base64,{{ images[key] }}" />
{# ... #}
{% endfor %}

关于symfony - 在 symfony 中显示存储在 BLOB 数据库中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com