net2ftp: Problemy z JUpload w Operze
Korzystam od dłuższego czasu z klienta webftp net2ftp. Owszem, mógłbym wszystko posyłać FTP-em, ale ze względu na idiotycznego ISP-a, który twierdzi, że Internet = port 80, to jestem zmuszony przepychać wszystkie pliki przez przeglądarkę. Ze względu na to, że stabilność wysyłania w ten sposób jest tragiczna, to muszę rozwiązywać problem w inny sposób. Do tej pory, najlepszym rozwiązaniem jest dodawany do net2ftp aplet JUpload. I wszystko by było OK, gdyby działało pięknie pod Operą. Ale tak nie było. Natomiast, we Flocku wszystko działało… Tak nie mogło być, w mojej ulubionej przeglądarce ma działać wszystko.
Po kilku minutach gapienia się w konsolę Javy, wysnuciu wniosków, opracowałem działające rozwiązanie.
Meritum problemu była niemożność znalezienia przez JVM apletu do uruchomienia.
W pliku jupload1.template.php używanego skina kod wywołujący aplet przedstawia się następująco:
W aplikacjach Geckowatych (nie wiem, jak jest w IE) ten kod działa, natomiast w Operze wysypuje błąd Applet not found i podaje za szukaną ścieżkę wymysły w postaci http://domena.pl/net2ftp/JUpload/startup.class, co nie powinno mieć miejsca – owa ścieżka – JUpload/startup.class – odwołuje się do względnego położenia klasy w słoiku, którą Opera traktuje jako bezwzględną.
Rozwiązanie:
Opera inaczej interpretuje ścieżki wewnątrz JAR-ów – bardziej po Javovemu (w manifestach, jako separatora, używa się . (kropki)). Myślę, że to wina większego zintegrowania JVM z przeglądarką (wszak pozostałe przeglądarki wywołują JRE poprzez wtyczki).
Najważniejsze, że działa.
edit: nie wiem, co było grane, ale powyższy kod bez problemu działał przez HTTPS, ale na HTTP… już nie. :/
Wykombinowałem coś takiego:
…i działa.
No ja mam bardzo podobny problem z ISP
Ostatnio korzystam również z NetFTP (ytlko tak się zastanawiam czy moje hasła do róznych FTPów bezpieczne są), ale pod moją ulubioną przeglądarką (Opera, obecnie 9.20) nie ma żadnych problemów. Bez ingerencji.