![]() |
Fortschrittanzeige bei Upload mit TMsMultiPartFormDataStream
Hi,
ich habe ein Formular auf dem Webserver liegen, mit dem man eine Datei uploaden kann. Ich steuer das Script von Delphi aus mit:
Delphi-Quellcode:
HTTP ist bei mir die Indykomponente idHTTP. Jetzt funktioniert das ja ganz prima. Aber kann ich noch eine Fortschrittsanzeige einbauen? Wie würde das gehen?
var
MultiPartFormDataStream: TMsMultiPartFormDataStream; Response: String; begin MultiPartFormDataStream := TMsMultiPartFormDataStream.Create; Try HTTP.Request.ContentType := MultiPartFormDataStream.RequestContentType; MultiPartFormDataStream.AddFile('f', edtPath.Text, ''); MultiPartFormDataStream.PrepareStreamForDispatch; MultiPartFormDataStream.Position := 0; Response := HTTP.Post('http://www.*********.de/vertretung/upload.php', MultiPartFormDataStream); Finally MultiPartFormDataStream.Free; end; end; Ist eigentlich ******* egal, aber das Programm ist für unsere stellvertretende Schulleiterin, die damit die Vertretungspläne einscannen und auf den Server hochladen soll. Da muss dieser Schnickschnackk noch rtein, außerdem weiß sie dann, wann es fertig ist. :P Ist das möglich? Ich glaube nämlich nicht .... Ich hoffe, ich irre mich. :mrgreen: |
Re: Fortschrittanzeige bei Upload mit TMsMultiPartFormDataSt
kannst du nicht einfach die position von multipartformdatastream abfragen??? :gruebel: :gruebel:
mfg |
Re: Fortschrittanzeige bei Upload mit TMsMultiPartFormDataSt
Hm ... gute Idee. Habe mal zwei Eigentschaften rausgeuscht. Position und Size. Das könnte was sein. Aber wie soll ich das abfragen? Eine Proecdure OnWork oder sowas gibts ja nicht. :(
|
Re: Fortschrittanzeige bei Upload mit TMsMultiPartFormDataSt
also wenn mich jetzt nicht alles täuscht, reicht es wenn du ein progressbar auf der formplazierst und diese dann per
Delphi-Quellcode:
updatest, oder nicht?? ich kenn die komponente aber nicht genau, hab sie nur mit google gefunden, für intressierte, die gibt es hier:
progressbar1.position := MultiPartFormDataStream.Position;
![]() mfg |
Re: Fortschrittanzeige bei Upload mit TMsMultiPartFormDataSt
Tatsache, es funktioniert. ;)
Nur wie halte ich sie immer auf dem Laufdenden? Praktisch schreib ich deine Zeile mit Application.ProcessMessages; in einen Timer mit Intervall 100 z.B., den ich beim Hochladen auf Enabled := True; setze. Es funktioniert aber trotzdem nicht. :| Das Programm bleibt stehen ... bis das Hochladen abgeschlossen ist u. dann geht die Progressbar mit einem Mal auf 100 % EDIT: War gestern Abend schon ein bisschen spät. Ich habe es jetzt so gelöst: Da den Hauptteil die IndyKomponente idHTTP macht, habe ich einfach den Fortschritt auf die Progressbar übertragen in der Procedure: HTTPWork |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz