@DJFRX

Почему картинка Thymeleaf показывается только после перезапуска Spring-Boot-приложения?

У меня есть приложение на java-spring. Пользователь может добавить себе картинку профиля (она сохраняется в дропбокс и ссылка на картинку в дропбоксе в БД). У каждого пользователя есть имя и он может искать других пользователей по имени. Когда пользователь ищет другого по имени, то должна показаться картинка найденного пользователя (картинка сохраняется в src/main/resources/images/users_avatars/картинка.расширение). Но сразу она не отображается. После обновления страницы тоже. После повторного поиска тоже. Надо перезапускать приложение каждый раз, чтобы картинка показалась.
При поиске программа возвращает эту страницу:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Найдено</title>
</head>
<body>
<h3>НАЙДЕНО ПО ВАШЕМУ ЗАПРОСУ:</h3>
  <div th:each="el : ${users}" class="search_results">
        <h3 th:text="'@' + ${el.login}"></h3>
        <p th:text="'@' + ${el.description}"></p>
        <p th:text="${image}"></p>
        <img th:src="@{${image}}">
  </div>
</body>
</html>

Атрибут image - путь до картинки (например, /images/users_avatars/картинка.расширение). Путь правильный и картинка точно существует. Как решить эту проблему, чтобы картинка отображалась сразу без всяких перезапусков?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
enovoselov
@enovoselov
Инженер
Сохраняйте в другом месте, не в ресурсах приложения. Это ведь загружаемые и внешние данные, создайте под них папку на сервере например /home/user/app_name/, затем можете через nginx или через запрос на контроллер приложения с помощью сервиса читать картинку и возвращать на клиент
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы