Play.current 已弃用 - 在控制器(Java Play Framework 2.7)使用的 class 中加载文件?
Play.current is deprecated - Load files in a class used by a Controller (Java Play Framework 2.7)?
在 Play Framework(版本 < 2.5)中,您可以通过以下方式从 /public/images
加载图像文件:
Option<URL> url = Play.current().resource("/public/images/myimage.png");
URL imageurl = url.get();
这适用于 DEV-模式,稍后适用于 PROD-模式。
Play.current().resource
的正确替换是什么以获得正确的文件路径?或者加载文件的最佳方式是什么?
因为正常的 Java-方法与 MyClass.getClass().getResource("/public/images/myimage.png")
或只是 MyClass.getClass().getResource("myimage.png")
(当文件与 MyClass.java) 在 PROD 模式下不工作。
感谢您的帮助!
顺便说一句:其他类似问题(Play.current is deprecated in play 2.5 for eaxmple)没有帮助,因为我不想加载配置文件。
我猜你需要注入 Environment to get path to resource. It can be accomplished by calling resource 方法。
environment.resource("/public/images/myimage.png")
在 Play Framework(版本 < 2.5)中,您可以通过以下方式从 /public/images
加载图像文件:
Option<URL> url = Play.current().resource("/public/images/myimage.png");
URL imageurl = url.get();
这适用于 DEV-模式,稍后适用于 PROD-模式。
Play.current().resource
的正确替换是什么以获得正确的文件路径?或者加载文件的最佳方式是什么?
因为正常的 Java-方法与 MyClass.getClass().getResource("/public/images/myimage.png")
或只是 MyClass.getClass().getResource("myimage.png")
(当文件与 MyClass.java) 在 PROD 模式下不工作。
感谢您的帮助!
顺便说一句:其他类似问题(Play.current is deprecated in play 2.5 for eaxmple)没有帮助,因为我不想加载配置文件。
我猜你需要注入 Environment to get path to resource. It can be accomplished by calling resource 方法。
environment.resource("/public/images/myimage.png")