![]() |
Indy FTP Server mit Fortschrittsanzeige
Hi,
ist es irgendwie möglich eine Fortschrittsanzeige beim Down oder Uploaden einer Datei auf oder von meinem IdFTPServer anzuzeigen? Florian |
Re: Indy FTP Server mit Fortschrittsanzeige
|
Re: Indy FTP Server mit Fortschrittsanzeige
Das das mit dem FTP Client geht ist klar, aber ich möchte, dass Serverseitig (IdFTPServer) ein Fortschritt angezeigt wird ...
Florian |
Re: Indy FTP Server mit Fortschrittsanzeige
Es geht, allerdings nicht mit 2 Zeilen Sourcecode. Allerdings frag ich mich noch wie du das umsetzen willst das auch mehrere Dateien gleichzeitig heruntergeladen/heraufgeladen werden können.
|
Re: Indy FTP Server mit Fortschrittsanzeige
Sorry, hab das mit dem Server überlesen ...
Hmmm ... wenn du Kontolle über beide hast, könntest du dem clienten sagen, er soll dem server per tcp mitteilen, wie weit er ist ;) Ansonsten müsstest du mal tief in den Sourcen gucken, ob du an die Methode kommt, wo die Daten abgeschickt werden, um dann zu schauen, wieviel bereits geschickt wurde ... |
Re: Indy FTP Server mit Fortschrittsanzeige
Ich würde mich über etwas Code freuen, sonst muss ich mich ganz alleine durch den Quelltext der Indys kämpfen ;)
Das mit mehreren Dateien geht denke ich ... Theoretisch bräuchte ich ja nur ein neues Event z.b. OnProgress und darin wird dann auch wieder der AThread übergeben, andem ich die Transfers identifiziere. Florian |
Re: Indy FTP Server mit Fortschrittsanzeige
der Fortschritt hat nix mit den Indys zu tun. Im OnRetrieveFile und OnStoreFile wird jeweils ein Stream übergeben. Du musst also nur die Streammethoden zum lesen und schreiben überschreiben und bekommst somit mit wenn eine Datei gelesen bzw. geschrieben wird. Wie das genau geht hab ich schonmal gepostet:
![]() |
Re: Indy FTP Server mit Fortschrittsanzeige
Sorry, wenn ich mich dumm anstelle ... also eine OnDestroy Methode könnte ich auch noch hinzufügen, aber wie kann ich die Lese und Schreibe Methoden so überschreiben, dass ich die Anzahl der geschriebenen / gelesenen Bytes bekomme?
Florian |
Re: Indy FTP Server mit Fortschrittsanzeige
ok, hier noch ein Beitrag von mir aus vergangenen Zeiten der genau das demonstriert:
![]() |
Re: Indy FTP Server mit Fortschrittsanzeige
Hey, danke, damit kann ich arbeiten :thumb:
Florian |
Re: Indy FTP Server mit Fortschrittsanzeige
Hallo Community,
Wenn "auf" dem FTP-Server etwas gespeichert werden soll, ergibt sich bezüglich der Prozessanzeige ein Problem: Wie ermittelt man die Größe der zu übertragenden Datei, damit ein Wert für Progressbar.Max geschrieben werden kann? Der Client vergrößert ja immer nur den Stream...Weiß jemand die Lösung? mfg Nogge |
Re: Indy FTP Server mit Fortschrittsanzeige
Wenn du die Datei auf den Server übertragen willst liegt die Datei doch bei dir vor und du kannst die Größe im lokalen System ermitteln.
|
Re: Indy FTP Server mit Fortschrittsanzeige
Sorry SirThornberry,
aber ich verstehe kein Wort von deinen hintereinandergereihten Wörtern :?: Kannst Du dich bitte etwas deutlicher ausdrücken? :wink: |
Re: Indy FTP Server mit Fortschrittsanzeige
du schreibst das du auf einen FTP-Server eine Datei übertragen willst. Um eine Datei zu übertragen musst du eine Datei haben welche du übertragen willst. Du übergibst also für den Upload der Datei einen FileStream. Und der FileStream hat das Property "Size" welches gleichzeitig der Max-Wert ist.
|
Re: Indy FTP Server mit Fortschrittsanzeige
Ah, da liegt ein Missverständnis vor :-D Ich will die Datei nicht selbst senden, sondern empfangen. In diesem Thread geht's ja um den Server und nicht um den Client.
|
Re: Indy FTP Server mit Fortschrittsanzeige
da müsste ich nochmal das FTP-Protokoll angschauen. Ich dächte da wird die Dateigröße auch mit gesendet welche man dann mit einem eigenen CommandHandler auslesen könnte.
[Edit] Aus dem Source geht hervor das die Größe des Streams auf die Größer der Datei, die hochgeladen wird, gesetzt wird wenn die Größe verfügbar ist. [/Edit] |
Re: Indy FTP Server mit Fortschrittsanzeige
Ich habe mich auch mal im Source-Code umgesehen und stimme Dir zu. D.h. also, es kommt auf den Client an? Wenn dieser den ALLO-Befehl verarbeiten kann, wird der Prozess korrekt angezeigt und sonst nicht?
|
Re: Indy FTP Server mit Fortschrittsanzeige
|
Re: Indy FTP Server mit Fortschrittsanzeige
TIdFTP = Client...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 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