# Größe einer Heruntergeladenen Datei



## clemson (22. Feb 2005)

Hallo!

Ich habe folgendes Problem: Ich möchte ein Tif Bild aus dem Internet herunter laden.  Das Bild hat die URL http://alo.uibk.ac.at:8180/bibstore/servlet/GetFile?id=SNMYYFUQZUNQSYSBGVRZ.

Das Bild lade ich mir folgendermaßen herunter:


```
private static String url = "http://alo.uibk.ac.at:8180/bibstore/servlet/GetFile?id=SNMYYFUQZUNQSYSBGVRZ";


URL Url = new URL( url );

URLConnection con = Url.openConnection();
```

Da ich nun die Größe der Datei herausfinden möchte benutze ich den Befehl   con.getContentLength();   ! Wenn ich diesen ausgeben möchte, dann gibt er als Länge -1 zurück...

Es wär aber gut zu wissen, wie groß die Datei bzw. das Bild ist, weil ich nämlich eine JProgressBar machen möchte, wo angezeigt wird, wieviel schon heruntergeladen wurde...


----------



## Illuvatar (22. Feb 2005)

Also wenn ich auf den Link klicke, dann ist das aber kein Bild, sondern eine "GetFile"-Datei, die ich runterlade, die aber nichts bewirkt. Liegt das vielleicht daran?


----------



## clemson (22. Feb 2005)

ja, da kommt ein GetFile das stimmt. und wenn ich eben dieses herunterlade kann ich es in ein Bild umwandeln..


da manche Bilder aber sehr groß sind, wäre ein balken, welcher die bereits heruntergeladenen bytes anzeigt, ganz angenehm...

wenn du die heruntergeladene Datei in GetFile.tif umbenennst, dann siehst du das Bild...


----------



## Illuvatar (22. Feb 2005)

Trotzdem... probier mal ein anderes Bild. Irgendwas is mit dem komisch, mein Opera zeigt als Größe im Downloadmanager auch nur ein Fragezeichen an.


----------



## Sky (22. Feb 2005)

Illuvatar hat gesagt.:
			
		

> Also wenn ich auf den Link klicke, dann ist das aber kein Bild, sondern eine "GetFile"-Datei, die ich runterlade, die aber nichts bewirkt. Liegt das vielleicht daran?



Also, wenn Du die Datei runter läds und ihr nen Namen wie meinBild.tif gibst, so wirst Du sehen, dass es doch ein "Bild" ist.


----------



## clemson (22. Feb 2005)

also: wenn ich die heruntergeladene datei als URL angebe ( file:///c:/GetFile.tif ) dann gehts mit de größe anzeigen... das problem ist nur, dass ich das ganze direkt aus dem Internet bräuchte, und nicht erst auf der festplatte speichern möchte


----------



## clemson (22. Feb 2005)

Also, wenn ich den Typ des Dokuments ausgeben will, dann zeigt er mir korrekt image/tif an....

warum kann ich dann die größe der datei nicht herausfinden?? 

Oder gibt es vielleicht eine andere Möglichkeit, die Datei aus dem Internet herunterzuladen? Mittels InputStream oder so???


----------



## meez (22. Feb 2005)

Da hat der Http-Server das Http Protokoll nicht richtig implementiert. (Wahrscheinlich IIS).
Dir bleibt nur das File zuerst runterzuladen um die Grösse zu ermitteln.


----------



## clemson (22. Feb 2005)

hmm, wenn ich die datei schon heruntergeladen habe, dann bringt mir die größe der datei nicht mehr viel... 

fein wäre es gewesen, wenn ich schon vor dem herunterladen diese gewusst hätte, aber so muss ich halt eine JProgressBar mit setIndeterminate(true) machen....


----------



## Illuvatar (22. Feb 2005)

Mach halt
if(-1) setIndeterminate
Vielleicht funktioniert es dann ja wenigstens auf anderen Servern.


----------



## clemson (22. Feb 2005)

Illuvatar hat gesagt.:
			
		

> Mach halt
> if(-1) setIndeterminate
> Vielleicht funktioniert es dann ja wenigstens auf anderen Servern.



ja, das ist eine gute idee. danke.


----------

