Verzeichnis - Upload in Delphi

blobkey

Grünschnabel
Hallo,

Ich hab schon das halbe Internet durchsucht, aber leider noch keine Lösung für mein Problem gefunden.
Ich möchte ein ganzes Verzeichnis mit möglichen Unterordnern und Dateien uploaden.
Gibt es dafür eine kurze bzw. günstigere Lösung als ne rekursive Funktion?
Vielleicht gibt es ja eine Lösung über die Indy-Komponenten, die sich scheinbar noch vor mir versteckt.
Vielleicht kann mir jemand einen Tipp geben, wo ich noch suchen kann?

Dank im schon mal voraus!

Gruss
blobkey
 

Dario Linsky

Erfahrenes Mitglied
Du kannst die Dateien normal über eine der FTP-Clientkomponenten hochladen (z.B. die aus dem Indy-Paket). Rekursion kannst Du dabei auch verwenden, allerdings musst Du dabei etwas spezifischer auf den Unterschied zwischen Verzeichnissen und Dateien reagieren.

Wie Du auf dem lokalen Rechner ein bestimmtes Verzeichnis rekursiv durchläufst, steht hier schon in der Tutorial-Rubrik.
Auf dem Remote-Rechner müsstest Du ein Verzeichnis erst anlegen, dann da hinein wechseln und die Dateien hochladen.

Hoffe, das hilft Dir etwas weiter. :)
 

blobkey

Grünschnabel
Mmh, also muß ich wohl doch jede Datei bzw. jedes Verzeichnis einzeln hochladen. Ich hatte gehofft, es gibt eine Funktion, die automatisch ganze Verzeichnisse mitsamt Unterverzeichnissen und Dateien hochlädt.

Trotzdem Danke für Deine schnelle Antwort. :)

Gruß
blobkey
 

Dario Linsky

Erfahrenes Mitglied
Ich glaube, Du hast mich falsch verstanden... Natürlich kannst Du eine rekursive Funktion schreiben, die deine Verzeichnisse lokal durchgeht. Dabei musst Du aber für jedes gefundene Unterverzeichnis ein neues Verzeichnis auf dem Server stellen und in dieses wechseln. Jede gefundene Datei in dem lokalen Verzeichnis kannst Du dann normal hochladen.
 

blobkey

Grünschnabel
Nee nee, ich glaube falsch geglaubt. ;-)

Dass das funktioniert, ist mir klar. Ich dachte nur, das ist eine öfter auftretende Aufgabe, was auch z.b. die Indy - Entwickler schon erkannt haben und deshalb hätten diese schon eine Funktion nach dem Schema:
Code:
  ftpKomponente.UploadWholeDir(LocalDir);

Gruß
blobkey
 
Zuletzt bearbeitet:

Dario Linsky

Erfahrenes Mitglied
Soweit ich weiss, gibt es dazu keine Methode, mit der die Indy-Komponente das von Haus aus erledigt. Und wenn in der OH nichts entsprechendes steht, wird es die auch tatsächlich nicht geben.

Aber eigentlich hält Dich ja nichts davon ab, eine eigene Klasse von der FTP-Komponente Deiner Wahl abzuleiten und um die benötigte Methode zu erweitern. ;)
 

blobkey

Grünschnabel
Das hab ich mir ja schon fast gedacht. Dann werd ich mich mal an die Arbeit machen. :rolleyes:

Vielen Dank für Deine Hilfe. :)

Gruß
blobkey