Spring boot i pobieranie PDF

Odpowiedz Nowy wątek
2018-06-28 00:53
0

Witam,

Mam serwer w spring boocie i na nim tworze plik PDF w /static/asserts/cos.pdf. Za pomocą thymeleafa pobieram dany plik w HTMLu

<a th:href="${pathToPdf}" target="_blank">Pobierz</a>

i wszystko ładnie się pobiera. Probem pojawia się gdy edytuje ten plik. W folderze ładnie nadpisuje. Natomiast po stronie html dalej pobiera staty plik. Pomaga jedynie restart serwera. Co może być przyczyną tego problemu? Z góry dzięki za pomoc.

Pozostało 580 znaków

2018-06-29 08:52

Może cachuje Ci statyczne pliki?
https://stackoverflow.com/que[...]le-caching-for-static-content

Ewentualnie zrób sobie kontroler który będzie Ci serwował ten plik do pobrania.
Czyli np. miałbyś urla w stylu "/download/{filename}" i wtedy w kontrolerze ladujesz zawartosc pliku i wysylasz do przeglądarki. Pocztytaj tutaj:
https://stackoverflow.com/que[...]-file-from-spring-controllers

Pozostało 580 znaków

2018-06-29 12:23
0

Na razie rozwiązałem ten problem za pomocą resta, ale zobaczę to cachowanie i dam znać. Dzięki za wypowiedź.

edytowany 2x, ostatnio: vakil, 2018-06-29 12:24

Pozostało 580 znaków

2018-06-29 15:55
0

Po wstawieniu do pliku application.properties linijki

spring.resources.chain.cache=false

nie ma żadnej różnicy.

Pozostało 580 znaków

2018-06-29 23:43
0

A spróbuj
spring.thymeleaf.cache=false

Pozostało 580 znaków

2018-07-02 22:57
0

Też nie działa. Powód najwidoczniej leży gdzieś indziej.

spring.thymeleaf.cache=false

Pozostało 580 znaków

2018-07-03 13:49
0

@vakil:
Czy ja dobrze rozumiem? Chcesz nadpisać plik w /src/main/resources? Nie jest to możliwe.

Jeżeli jednak ten folder /static/asserts/cos.pdf znajduje się poza jar to pokaż kod. Może wczytany plik nie jest na nowo otwierany?


"Gdy się nie wie, co się robi, to się dzieją takie rzeczy, że się nie wie, co się dzieje"


edytowany 1x, ostatnio: nie100sowny, 2018-07-03 13:51

Pozostało 580 znaków

2018-07-03 14:31
0

Witam,

Plik znajduje się w /src/main/resources/static/asserts/plik.pdf. Nadpisanie go jest możliwe za pomocą REST(poprawnie nadpisuje). Problem występuje, gdy chcę wyświetlić jego zawartość za pośrednictwem serwera np.

localhost:8080/asserts/plik.pdf

<embed th:src="${pathToPdf}" width="500" height="375" type="application/pdf">
lub
<embed src="/asserts/plik.pdf" width="500" height="375" type="application/pdf">

pokazuje starą wersję z przed uruchomienia aplikacji. Tak jakby się nie odświeżało.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0