播放框架使用不在/ public文件夹中的图像

时间:2016-03-30 02:16:07

标签: java html scala playframework

在play框架中我想显示一个不在/ public文件夹中的图像,对于我可以写的/ public文件夹中的图像:

<th><img class="ui" src="@routes.Assets.at("images/ui_iron.png")"/></th>

并将图像放在/ public / image文件夹中,但是如何使用不在公共文件夹中的图像,我试过这样但不起作用:

GET        /configimage/*file                          controllers.Assets.at(path="../data/public",file)

或者我应该新建一个像controllers.Assets.at

这样的函数

1 个答案:

答案 0 :(得分:3)

如果您的目标只是为了能够在公共文件夹外显示图像,那么您有两个选择:

在build.sbt

中添加非托管资源
unmanagedResourceDirectories in Assets += baseDirectory.value / "data"

无需更改路径文件,因为在编译期间,数据内的所有文件都将合并到公共目录中。

您可以为不同的资产组定义不同的路由,但如果您在html文件中执行此操作,则需要将2个参数传递给Assets.at方法,一个用于路径中的路径,另一个用于文件。

参考

如果图像不是项目的一部分,则创建自己的控制器

如同 Asset mapping outside public folder on Play framework