Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Upload einer Datei über POST mit Forschrittsanzeige? (https://www.delphipraxis.net/145021-upload-einer-datei-ueber-post-mit-forschrittsanzeige.html)

Z4ppy 22. Dez 2009 01:12


Upload einer Datei über POST mit Forschrittsanzeige?
 
Das Uploaden einer Datei über POST (wie bei einer <form> mit <input type="file">-Tag) geht ja über einen TIdMultipartFormDataStream.
Nun möchte ich meinem User aber gerne anzeigen, wie viel der Datei schon hochgeladen wurde (mit ner gewöhnlichen ProgressBar).
Wie kann ich das machen?

MfG Z4ppy

Z4ppy 23. Dez 2009 01:52

Re: Upload einer Datei über POST mit Forschrittsanzeige?
 
Mit diesem Code (natürlich entsprechend für meine Umstände angepasst bzgl. Namen der Kompos usw.) hab ich das nun mal probiert:
Delphi-Quellcode:
procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar1.Max := AWorkCountMax;
  Application.ProcessMessages;
end;

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
  ProgressBar1.Position := AWorkCount;
  Application.ProcessMessages;
end;
Allerdings ist da die ProgressBar bereits nach ca. einer Sekunde ganz rechts - bei meinen 60 kB/s Upload und einer 1,5 MB-Datei eher unrealistisch ^^
Wie ich am Rest meines Programmes erkennen kann, geht der Upload auch weiter...

Wieso stimmt das nicht und wie kann ich es so hinkriegen, dass es stimmt?

MfG Z4ppy

Z4ppy 7. Jan 2010 23:02

Re: Upload einer Datei über POST mit Forschrittsanzeige?
 
geskill hat mir den Tipp gegeben, dass das mit der Firewall zusammenhängt und ich konnte das nun überprüfen und bestätigen:
Auf meinem PC (mit Kaspersky IS) wird der Fortschritt falsch angezeigt.
Auf der VM (XP ohne Schutz) wird der Fortschritt korrekt angezeigt.

Bleibt nur noch die Frage, wie man das dann löst, dass auch bei Firewall der Fortschritt richtig angezeigt wird. Kann ja nich sein, dass das nur ohne Firewall geht -.-

MfG Z4ppy


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz