Загрузка файла PNG из пути к классам, упакованного в файл WAR - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь загрузить PNG-файл, упакованный в моем war-файле, чтобы я мог вставить его в электронное письмо, но, судя по всему, я не могу найти правильные пути для получения входного потока.Я получаю сообщение об ошибке «InputStream не должен быть пустым» при создании экземпляра.

Структура проекта:

src
|
---main
   |
   ---java
   |   |
   |   ---com.company.team.app_name
   |      |
   |      ---service
   |         |
   |         mailservice.java
   |
   ---resources
      |
      ---content
         |
         ---images
            |
            ---logo.png

пути в файле войны:

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 Ответ

1 голос
/ 14 марта 2019

Использование 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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...