这里有点困惑。我查看了一些线程,但他们没有解决它。
1) <img src="/web/uploads/ce438b2eb1c01d85f3d6d6c52efc1175.png"/>
2) <img src="{{ asset('/uploads/ce438b2eb1c01d85f3d6d6c52efc1175.png')}}"/>
编辑:
2) 作品
1) 没有。
疯狂的是,在 PHPstorm 中,如果我在 src 路由中执行/web 它会为我选择它,然后它会为我选择上传,甚至可以看到该文件。它只是不会显示!?
下面对我有用,它显示图像。所以现在并不急于这样做。然而有趣的是,为什么 1) 不起作用?
<img src="{{ asset('/uploads/' ~ media)}}"/>
最佳答案
通过搜索文档应该很容易找到答案。
<img src="/web/uploads/ce438b2eb1c01d85f3d6d6c52efc1175.png"/>
不起作用,仅仅是因为,如果您将这段代码写在里面,比方说,AppBundle/Resources/views/Default/index.html.twig
文件,那么这意味着web/uploads/
目录结构应该存在于此目录中 (AppBundle/Resources/views/Default/
) - 并且在其中包含图像。
这不是你的情况。所以对于 AppBundle/Resources/views/Default/index.html.twig
,src
应该是:
<img src="../../../../../uploads/ce438b2eb1c01d85f3d6d6c52efc1175.png
这就是 asset()
函数很有用的原因。因为它将路径映射到你的公共(public)目录(在 composer.json
文件中声明,在 symfony-web-dir
键下);因此,无论您从何处调用此函数,它始终会返回公共(public)目录的路径,因此您不必担心所有这些 ../../
包含。
关于php - Symfony Twig - 图片不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44000064/