Play.current已过时-将文件加载到控制器使用的类(Java Play Framework 2.7)中吗?

问题描述 投票:1回答:1

在Play框架(版本<2.5)中,您可以通过以下方式从/public/images加载图像文件:

Option<URL> url = Play.current().resource("/public/images/myimage.png");
URL imageurl = url.get();

这在DEV模式下有效,后来在PROD模式下有效。

什么是Play.current().resource的正确替代品以获得正确的文件路径?或加载文件的最佳方法是什么?

因为具有MyClass.getClass().getResource("/public/images/myimage.png")或仅具有MyClass.getClass().getResource("myimage.png")的普通Java方法(当文件与MyClass.java位于同一文件夹中时)在PROD模式下不起作用。

感谢您的帮助!

BTW:其他类似的问题(例如eaxmple的Play.current is deprecated in play 2.5)没有帮助,因为我不想加载配置文件。

java playframework
1个回答
2
投票

我想您需要注入Environment才能获取资源路径。可以通过调用resource方法来完成。

© www.soinside.com 2019 - 2024. All rights reserved.