Witam. mam problem dotyczący pobierania z serwera. Serwer do WS 2008. w Javie generowany jest link i po wejściu, pobieramy z niego plik który odpowiada jakieś lokalizacji na apachu. Niestety stan pobierania nie jest wyświetlany, tylko jest pełen zielony pasek i powiększa się tylko liczba całkowita megabajów zamiast standardowego np : " pobrano 15mb z 30mb" . Na każdej przeglądarce jest to samo. W jaki sposób rozwiązać ten problem ?
CMYK? Co ma paleta kolorów do rzeczy? BTW pytasz sam siebie?
Przeglądarka skądś musi się dowiedzieć, ile bajtów ma ściągnąć. Nie wyślesz - nie zobaczysz postępu ściągania. Skąd wziąć? W nagłówku http umieść nagłówek Content-Length
z długością danych w bajtach.
Ale w nagłówku strony z której "naciskany jest link do pobierania" ? Nie do końca rozumiem w jaki sposób dzieje się to że, gdy ręcznie wrzucę sobie coś do folderu na apachu i potem sam sobie stworze linka np " localhost/common/test/test.pdf to stan pobierania jest wyświetlany, ale jeżeli link odpalę z mojej strony na której jest on wyświetlany, to stanu pobierania nie ma.
Przecież już opisałem co powoduje Twój problem, dalsze informacje nie są potrzebne.
Nie wiesz, co to jest nagłówek http. Przeczytaj, co to w ogóle jest, jak działa, jakie są podstawowe rodzaje nagłówków poza Content-Length i do czego służą, żebyś miał chociaż minimum wiedzy w temacie. Następnie zainstaluj sobie aplikację Fiddler i zobacz jak wygląda ruch z przeglądarki - z naciskiem właśnie na nagłówki żądania przeglądarki (request) i odpowiedzi serwera (response). Na koniec porównaj nagłówki przychodzące z serwera przy ściąganiu pliku z postępem z nagłówkami z innego serwera, gdzie nie ściąganie jest bez postępu.
Na koniec dodaj do response'a brakujący nagłówek: albo zrób to z poziomu aplikacji (jeśli plik do ściągnięcia jest generowany), albo (jeśli plik jest statyczny) znajdź na google, jak skonfigurować apache, żeby wysyłał Content-Length (ewentualnie ze zrozumieniem porównaj konfigurację swoją i serwerową), zaaplikuj to i zweryfikuj efekt. Howgh.