【问题标题】:Symfony2: how to make a twig extension return an imageSymfony2:如何使树枝扩展返回图像
【发布时间】:2015-04-25 16:20:12
【问题描述】:

我正在尝试创建我的第一个 twig estension

class UserExtension extends \Twig_Extension
{
public function getFunctions() {
    return array(
        new \Twig_SimpleFunction('userThumbImg', array($this, 'getUserThumbImg')),
    );
}

public function getUserThumbImg()
{
    $thumbImage = Repository::getInstance('users')->getUserImg(4, true);
    return $thumbImage['image'];
}

public function getName()
{
    return 'user_extension';
}
}

静态存储库类只是使用 fread 读取文件。我想以这种方式从树枝中调用图像

<img class="user-photo" src="{{ userThumbImg() }}" alt="" />

但我得到一个二进制字符串。我该怎么做才能在我的模板中显示图像?我没有尝试返回响应,因为这不是控制器,我应该这样做吗?

谢谢

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

    您总是使用路径来显示图像。将图像保存在服务器上的某个位置并返回该路径。或者在 data: 链接中转换图像并返回。

    【讨论】:

    • 图像不在 document_root 下,我需要一种从 document_root 外部显示它的方法
    • 是的,但即使它不在 document_root 上,他所说的仍然是正确的
    • 我不明白,你能举个例子吗?谢谢
    • @user3174311 只需阅读this article 即可了解data:。最简单的方法是将图像转换为base64:return 'data:image/'.$imageType.';base64,'.base64_encode($image);,然后将此字符串插入到src 属性中。
    猜你喜欢
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多