生产环境中的游戏框架2.3.6中的相对路径

时间:2015-02-06 07:20:41

标签: playframework-2.0 relative-path

在Play框架2.3.6中,在本地我可以使用public static String projectPath = Play.application().path().getPath();获取项目的相对路径,并存储或检索存储在公共文件夹中的文件。但是在生产环境中工作时,相对路径显示为target/universal/stage/bin/<project-name>。现在,我无法上传文件或获取公用文件夹中的文件。任何想法将不胜感激。

2 个答案:

答案 0 :(得分:1)

答案很简单。你不能:))

Play是一个无状态框架,它将文件存储到文件系统是违背其意识形态的。所以你在PROD中没有文件系统。

您必须将它们存储到数据库或任何其他存储设备中。

但是,您可以通过以下方式访问 / public 文件夹中的文件:

play.Play.application().resourceAsStream("/public/someFile.gif");

答案 1 :(得分:0)

我创建了一个静态方法并检查播放是否在生产中运行。如果是,则返回绝对路径,否则返回相对路径。所有需要该路径的类都将调用此方法。