2015-08-24 20 views
5

Robię projekt używając Spark Java. Po stronie serwera tworzone są niektóre obrazy i chcę, aby były dostępne w kliencie. Ponieważ mam statyczny katalog zawartości, po utworzeniu obrazu po stronie serwera umieszczam go w tym katalogu. Jednak ten plik jest niedostępny, chyba że ponownie uruchomię serwer. Sądzę, że musi istnieć sposób na odświeżenie statycznego pliku katalogowego dla Spark Java w środowisku wykonawczym, aby mogły zostać spełnione żądania obrazów wykonanych w czasie rzeczywistym. Dobrze?Odświeżanie statycznych plików obsługiwanych przez SparkJava

Dzięki!

+0

Po prostu głupie pytanie: czy jesteś pewien, że nie jest to spowodowane pamięcią podręczną przeglądarki? –

+0

Nie sądzę, że może to być spowodowane tym, że próbowałem dotrzeć do wygenerowanego obrazu przy użyciu innych przeglądarek (nawet w trybie incognito) i nie byłem w stanie. Który test mogę zrobić, aby odrzucić, że jest to problem z pamięcią podręczną przeglądarki? W przypadku, gdy jest to problem z pamięcią podręczną, jak można go rozwiązać, nie będąc nieprzyjaznym dla użytkownika? Dzięki! – jevora

Odpowiedz

2

Rozwiązałem go, kodując png jako Base 64 i wysyłając go jako odpowiedź do klienta.

3

documentation mówi:

Jeśli używasz staticFiles.location(...), czyli zachować swoje statycznych plików w ścieżce klasy, zasoby statyczne są kopiowane do folderu docelowego podczas budowania aplikacji. Oznacza to, że musisz wykonać/zbudować swój projekt, aby odświeżyć pliki statyczne. Rozwiązaniem tego problemu jest nakazanie Sparkowi odczytywania plików statycznych z absolutnej ścieżki do katalogu src.

Używaj zamiast tego staticFiles.externalLocation().