【问题标题】:Symfony3: Display an image places in web/cache/media folderSymfony3:在 web/cache/media 文件夹中显示图像位置
【发布时间】:2016-06-20 06:16:25
【问题描述】:

我正在使用 ImagineBundle 并尝试显示过滤后的图像。

我的树枝代码是这样的:

<img src="{{ currentProfileImage|default|imagine_filter('my_thumb') }}" />

不加滤镜,图片从路径正确显示:

<img src="/bundles/templates/uploads/images/my_folder/01c2b593148119e2dbcf40fef147542b.jpeg" />

但应用过滤器后,我得到以下输出:

<img src="http://www.example.com/media/cache/my_thumb/bundles/templates/uploads/images/my-folder/01c2b593148119e2dbcf40fef147542b.jpeg" />

应用过滤器后,图像不会显示。如果我尝试在地址栏中复制/粘贴路径:http://www.example.com/media/cache/my_thumb/bundles/templates/uploads/images/my-folder/01c2b593148119e2dbcf40fef147542b.jpeg

是说找不到路线..

我意识到没有放在 web/bundles 文件夹中的任何图像都不会显示..

有什么想法吗?

谢谢

更新: config.yml 看起来像这样:

liip_imagine:
resolvers:
   default:
      web_path: ~

filter_sets:
    cache: ~
    my_thumb:
        quality: 75
        filters:
            thumbnail: { size: [120, 90], mode: outbound }

【问题讨论】:

  • 你试过网址http://www.example.com/bundles/templates/uploads/images/my_folder/01c2b593148119e2dbcf40fef147542b.jpeg吗?
  • 有原始图像,没有调整大小,它可以工作。我想显示在 we/cache/media... 文件夹中调整大小的图像。

标签: php symfony liipimaginebundle


【解决方案1】:

您好像忘记添加LiipImagineBundle's description中提到的路由:

# app/config/routing.yml

_liip_imagine:
    resource: "@LiipImagineBundle/Resources/config/routing.xml"

使用此捆绑包时,您不会直接访问图像。您将获得一个指向 ImagineBundle 操作的 url,该操作检查文件是否存在于缓存文件夹中(这意味着它已经生成),如果不存在,它会创建一个。

【讨论】:

  • 这已经添加到我的 routing.yml 文件中:_liip_imagine: resource: "@LiipImagineBundle/Resources/config/routing.xml"
  • Composer 没有在我的 src/ 文件夹中创建任何新包 (LiipImagineBundle)。它只是在 vendor/liip 文件夹中添加了文件。这是正常的吗? (我正在使用 Symfony3)
  • 是的。这就是它的工作原理。如果它仍然不起作用,请编辑您的问题并添加 LiipImagineBundle 配置。还要检查文件系统中是否存在该文件(注意生成的文件可能不会存储在公共目录中)
  • 我添加了配置,和cookbook中的一样,文件存在于缓存文件夹中,并调整了大小。我只能通过移动 web/bundles/ 文件夹中的文件来看到这一点。我现在唯一的问题是我无法访问缓存文件夹中的文件..
猜你喜欢
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-13
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多