Sonata 媒体包中的图像路径

Posted

技术标签:

【中文标题】Sonata 媒体包中的图像路径【英文标题】:Image path in Sonata media bundle 【发布时间】:2018-02-06 23:06:07 【问题描述】:

我正在尝试找到使用奏鸣曲媒体包显示图像的正确方法。

cdn:
    server:
        path: %kernel.root_dir%/../web/uploads

树枝文件

% path  user.image, 'big' % <br>
<img src="% path  user.image, 'big' %"  class="my-4"/>

结果

C:\XXX\www\XXX\app/../web/uploads/image/0001/01/thumb_2_image_big.png  
image

现在,如果我在浏览器中复制并粘贴第一个链接,它会将我带到图像。但是如果我将它用作图像标签的路径,它不会显示,如图所示。

有一种解决方法(通过将 cdn 路径修改为 ../../../../uploads),但我正在尝试找到一种“正常”的方式。

【问题讨论】:

【参考方案1】:

试试

<img src="% path user.image, 'reference' %" ...

【讨论】:

感谢您的输入,但结果相同。 对不起,你清除缓存了吗?您使用哪个版本的 Sonata 和 Symfony? 根据documentation remove kernel.root_dir from path: path: /web/uploads 你为什么使用 %kernel.root_dir% ? 因为它不起作用。我得到类似localhost/web/uploads/image/0001/01/thumb_2_image_big.png ...没有捆绑包的名称,它应该是:localhost/"NameOfBundle"/web/uploads/image/0001/01/… 我不能在配置中写 bundle 的名称(我认为这不是一个好习惯),这就是我使用 kernal.root_dir 的原因

以上是关于Sonata 媒体包中的图像路径的主要内容,如果未能解决你的问题,请参考以下文章

Symfony Sonata 媒体包

Symfony 2 Sonata 媒体包:在没有奏鸣曲管理员的情况下保存媒体文件图像

模板提供了错误的媒体目录路径,Django 找不到图像

Symfony2 覆盖 Sonata 媒体图像提供程序。(将接口传递给构造函数)

集成 Sonata Media Bundle(媒体实体)和 Sonata Classiffication Bundle(标签实体)

如何使用 SonataMediaBundle 在树枝中获取图像路径?