Witam.
Mam mały problem z działaniem programu jako aplet.
Otóż program, jako aplikacja działa w porządku - plik pobierany jest z adresu URL i zapisywany w odpowiednim miejscu na dysku.
Problem pojawia się gdy uruchamiam program ( ten sam kod, tylko z metodami init, start, stop ... ) jako aplet.
Wówczas aplet zamiast pliku exe, który jest dostępny pod adresem URL pobiera "ciało" strony z której ma zostać pobrany:
<!doctype html>
<!-- Server: sfs-consume-7 -->
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6" > <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7" > <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8" > <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9" > <![endif]-->
<!--[if (gt IE 9)|!(IE)]>--> <html lang="en" class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
...
...
...
Link testowy z którego pobieram plik to :
http://downloads.sourceforge.net/sevenzip/7z920.exe
Poniżej fragment kodu odpowiedzialny za pobieranie:
urlLink = (String)downloadData.get(i);
URL url = new URL(urlLink);
URLConnection conn = url.openConnection();
connectionLength = conn.getContentLength();
InputStream reader = url.openStream();
FileOutputStream writer = new FileOutputStream(downloadPath + fileName);
buffer = new byte[153600];
totalBytesRead = 0;
bytesRead = 0;
thread1.start();
while ((bytesRead = reader.read(buffer)) > 0)
{
writer.write(buffer, 0, bytesRead);
buffer = new byte[153600];
totalBytesRead += bytesRead;
}
writer.close();
reader.close();
Ktoś orientuje się może co robię nie tak?
Czy z kontekstu apletu muszę obsłużyć jeszcze jakąś sytuację, aby pobrać faktycznie plik z serwera zamiast strony Internetowej?
Z góry dzięki za pomoc.
Pozdrawiam