这里有点混乱。我看了一些线索,他们没有解决。
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()
函数是有用的。因为它将路径映射到您的公共目录(在composer.json
文件中的symfony-web-dir
键下声明);所以,无论您从何处调用此函数,它都将始终返回到公共目录的路径,因此您不必担心所有这些../../
包含。