#java #spring #maven #spring-boot #jhipster
#java #spring #maven #весенняя загрузка #jhipster
Вопрос:
Я пытаюсь загрузить PNG-файл, упакованный в мой war-файл, чтобы я мог встроить его в электронное письмо, но, хоть убейте, я не могу правильно определить пути для получения моего входного потока. При создании экземпляра я получаю ошибку «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"));
Ответ №1:
Использовать ResourceUtils
из org.springframework.util.ResourceUtils
;
try {
File file = ResourceUtils.getFile("classpath:content/images/logo.png")
byte[] logoBytes = Files.readAllBytes(file.toPath());
} catch (IOException e) {
e.printStackTrace();
}