Как отобразить картинку в Heroku Spring Boot проекта?

После деплоя проета на Heroku не отображаются картинки, название которых хранятся в бд. На локали все работает, а в Хероку нет.

@Controller
public class TourController {
    @Autowired
    private TourRepository tourRepository;

    @GetMapping("/")
    public String mainPageShowTours(Model model) {
        model.addAttribute("tours",tourRepository.findAll());
        return "home/main";
    }
    @PostMapping("/admin/save")
    public String saveTour(@ModelAttribute(name = "tour") Tour tour,
                           @RequestParam("fileImage") MultipartFile multipartFile) throws IOException {
        String fileName = StringUtils.cleanPath(multipartFile.getOriginalFilename());
        tour.setImage(fileName);
        Tour savedTour = tourRepository.save(tour);
        String uploadDir = "./tour-image/" + savedTour.getId();

        Path uploadPath = Paths.get(uploadDir);
        if (!Files.exists(uploadPath)) {
            Files.createDirectories(uploadPath);
        }
        try (InputStream inputStream = multipartFile.getInputStream()) {
            Path filePath = uploadPath.resolve(fileName);

            System.out.println(filePath.toFile().getAbsolutePath());
            Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            throw new IOException("Невозможно сохранить файл: " + fileName);
        }
        return "redirect:/admin/tourList";
    }

Модель:

    @Entity
    @Table(name = "tour")
    public class Tour {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "code")
        private int id;
        @Column(name = "image", nullable = true)
        private String image;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getImage() {
            return image;
        }
        public void setImage(String image) {
            this.image = image;
        }
        @Transient
        public String getImagePath() {
            if (image == null || id == 0) {
                return null;
            }
            return "/tour-image/" + id + "/" + image;
        }
  }

html

<img class="card-img-top" th:src="@{${tour.imagePath}}" alt="Card image cap" width="320" height="200">

После деплоя контролле без проблем загружает в бд название картинок, но не отображает результат в списке объектов. Что надо исправить, чтобы показывались картинки?


Ответы (0 шт):