Autor Beitrag
damadmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 29.09.03 16:40 
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

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Mo 29.09.03 17:01 
Hi,

hast du evl. nen bissel Code? :)
damadmax Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 29.09.03 17:49 
ausblenden 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

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: 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

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: 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:
user defined image
mit nc betrachtet:
user defined image


das hier ist die datei vom server:
user defined image
mit nc betrachtet:
user defined image


hat jemand eine idee, warum notepad sowas macht?

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.