Entwickler-Ecke
Internet / Netzwerk - Download per TFileStream und IdHttp.
damadmax - Mo 29.09.03 16:40
Titel: Download per TFileStream und IdHttp.
Situation:
Habe auf einem Server eine 1,5 MB grosse Datei.
Lade diese Datei per IdHttp.Get herunter. Der TFileStream wird per fmCreate geöffnet.
Die Datei ist nach ein paar Sekunden da und hat die exakte Grösse wie auch auf dem Server.
Das Problem ist nur: Die Datei enthält nur Müll.
Lösung: ????
greetz
BungeeBug - Mo 29.09.03 17:01
Hi,
hast du evl. nen bissel Code? :)
damadmax - Mo 29.09.03 17:49
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var http: TIDHttp; f: TFileStream; begin http := TIDHttp.Create(Application.MainForm); try f := TFileStream.Create('test.dat',fmCreate); try http.Get('http://irgendeinserver.de/test.dat',f); finally f.Free; end; finally http.Free; end; end; |
btw: die IDHttp kompo funktioniert einwandfrei, da ich diese auch noch für eine text datei benutze. und deren download funktioniert. allerdings benutze ich dabei kein FileStream Objekt.
greeetz'n'thx
ErnestoChe - Mo 29.09.03 18:26
Hi,
| damadmax hat folgendes geschrieben: |
Die Datei ist nach ein paar Sekunden da und hat die exakte Grösse wie auch auf dem Server.
Das Problem ist nur: Die Datei enthält nur Müll. |
Weil der FileStream noch nicht gefüllt ist. Er wurde nur schon mal mit der Grösse angelegt um dann mit den Bits vom Server während des Downloads gefüllt zu werden. Dass kann je nach Bandbreite eine gewisse Zeit in Anspruch nehmen.
Lösung: Du wartest bis der Download beendet ist.
MFG
- Ernesto -
damadmax - Mo 29.09.03 18:40
sollte die get methode nicht so lange warte bis sie fertig ist?
bzw. warum sollte sie das beim filestream nicht auch machen, sonst tut sie es ja.
greetz
ErnestoChe - Mo 29.09.03 18:53
Hi,
Get sollte erst zurückkehren, wenn der Download beendet ist. Ansonsten sehe ich in deinem Code keinen Fehler. Wo rufst denn deine Prozedur auf bzw. in welchem Ereigniss steht dein Code.
Auf jeden Fall scheint der Download nicht zu funktionieren. Dass die exakte Grösse schon da ist, hat wie ich schon erklärt hab nichts zu bedeuten. Das ist normal.
Versuche mal die Datei mit dem IE runterzuladen. Oder gib uns weitere Infos, die auf den Fehler hindeuten könnten.
MFG
- Ernesto -
damadmax - Mo 29.09.03 19:22
danke erstmal für die hilfe. wahrscheinlich hat der fehler garnichts mit meinem programm zutun. beide dateien funktionieren prima. btw: wenn ich sie mit norton commander (ja etwas alt aber funzt) öffne ist sie die richtige.
die besagte datei enthält virendefinitionen von freeav.de
das hier ist die original datei. so wie sie installiert wurde:
mit nc betrachtet:
das hier ist die datei vom server:
mit nc betrachtet:
hat jemand eine idee, warum notepad sowas macht?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!