我正在尝试加载打包在我的 war 文件中的 PNG 文件,以便我可以将其内联到电子邮件中,但在我的一生中,我似乎无法获得正确的路径来获取我的输入流。我在实例化时收到“InputStream 不得为空”错误。
项目结构:
src
|
---main
|
---java
| |
| ---com.company.team.app_name
| |
| ---service
| |
| mailservice.java
|
---resources
|
---content
|
---images
|
---logo.png
war 文件中的路径:
WEB-INF/classes/com/company/team/app_name/service/MailService.class
...
content/images/logo.png
邮件服务代码(在类构造函数中):
this.logoBytes = new InputStreamResource(this.getClass()
.getClassLoader()
.getResourceAsStream("/content/images/logo.png"));
最佳答案
使用org.springframework.util.ResourceUtils
中的ResourceUtils
;
try {
File file = ResourceUtils.getFile("classpath:content/images/logo.png")
byte[] logoBytes = Files.readAllBytes(file.toPath());
} catch (IOException e) {
e.printStackTrace();
}
关于java - 从 WAR 文件中打包的类路径加载 PNG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55153243/