AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdFTP Upload: Datei überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

IdFTP Upload: Datei überschreiben

Ein Thema von delphin06 · begonnen am 10. Apr 2008 · letzter Beitrag vom 10. Apr 2008
Antwort Antwort
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#1

IdFTP Upload: Datei überschreiben

  Alt 10. Apr 2008, 17:49
Hi

Ich habe ein Problem beim hochladen von Dateien auf einen FTP Server. Und zwar überschreibt die Indy Komponente die Datei nicht automatisch, wenn diese bereits existiert. Gibt es da irgendeine Option die man da setzen kann?

Ich wollte jetzt erstmal versuchen, dass wenn eine Datei schon existiert, dann einfach mit der nächsten Datei fortgefahren wird, die hochgeladen werden soll.

Dazu wollte ich die Exception abfangen und dann halt überspringen.

Die Fehlermeldung wennn eine Datei bereits existiert lautet:

Im Projekt Project1.exe ist eine Exception der Klasse EIdReplyRFCError mit der Meldung '10042008: File exists
' aufgetreten.

ich wollte jetzt über
Delphi-Quellcode:
try
...
              except
                on E: EIdReplyRFCError do
                  continue;
              end;
leider kennt er "EIdReplyRFCError" nicht. Auch wenn ich die Unit "IdException" mit einbinde.

Also was soll ich jetzt tun? Entweder ich kann da irgendeine property setzen, dass die Datei überschrieben wird oder ich fange die exception ab...nur wie?

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#2

Re: IdFTP Upload: Datei überschreiben

  Alt 10. Apr 2008, 18:02
IDFTP.Put(SourceFile,DestFile,Append); Hallo erstmal...

Methode Put

SourceFile = string
DestFile = string - wenn nicht vorhanden wird die Datei erstellt
Append = True/False - True hängt an die vorhandene an False überschreibt

so funktionierts bei mir...
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: IdFTP Upload: Datei überschreiben

  Alt 10. Apr 2008, 18:03
Hallo,

ein anderer Ansatz wäre, zu schauen ob die Datei auf dem Server schon existiert
wenn ja diese löschen und dann die neue Übertragung starten.

Mit idftp1.size(fileName) >= 0 kannst Du feststellen ob die Datei da ist
und mit idftp1.delete(fileName) kannst Du sie löschen.
Delphi-Quellcode:
if idfp1.size(fileName) >= 0 then
  idftp1.delete(fileName);
idftp1.put(...);
Ein Option zum Überschreiben der Files kenne ich auch nicht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
delphin06

Registriert seit: 18. Jun 2006
154 Beiträge
 
#4

Re: IdFTP Upload: Datei überschreiben

  Alt 10. Apr 2008, 18:40
Zitat von haentschman:
IDFTP.Put(SourceFile,DestFile,Append); Hallo erstmal...

Methode Put

SourceFile = string
DestFile = string - wenn nicht vorhanden wird die Datei erstellt
Append = True/False - True hängt an die vorhandene an False überschreibt

so funktionierts bei mir...
Hmm...also das Append = true bedeutet, dass an die Datei angehängt wird wusste ich aber nich das bei false überschrieben wird.

Es klappt so auch bei mir!

Und ich habe gerade gemerkt, dass die exception gar nich beim überschreiben der datei gekommen ist, sondern wenn ich einen Ordner erstelle der schon existiert.


@Klaus01
Also die Methode mit datei löschen ist mir auch schon in den sinn gekommen. nur ich wollte halt erstmal wissen, ob es vieleicht doch ne einfachere methode gibt...

Auf jeden fall danke euch

Gruß
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 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