gpt4 book ai didi

java - Play.current 已弃用 - 在 Controller 使用的类中加载文件(Java Play Framework 2.7)?

转载 作者:行者123 更新时间:2023-11-30 01:43:28 25 4
gpt4 key购买 nike

在 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)没有帮助,因为我不想加载配置文件。

最佳答案

我猜你需要注入(inject)Environment获取资源的路径。可以通过调用resource来完成方法。

environment.resource("/public/images/myimage.png")

关于java - Play.current 已弃用 - 在 Controller 使用的类中加载文件(Java Play Framework 2.7)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59066934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com