Einzelnen Beitrag anzeigen

Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#2

Re: File beim FTP-Transfer nicht überschreiben

  Alt 23. Mär 2005, 14:58
So, hier mal meine Lösung:

Delphi-Quellcode:
FileExistsList:= TStringList.Create;
    for i:= 0 to aList.Count-1 do
    try
      begin
        IdFTP.List(FileExistsList, ExtractFilename(aList.Strings[i]), false);
        If FileExistsList.Count < 1 then
          IdFTP.Put(aList.Strings[i], ExtractFilename(aList.Strings[i])) else
          begin
            newFilename:= ansiReplaceText(ExtractFilename(aList.Strings[i]),
                           ExtractFileExt(ExtractFilename(aList.Strings[i])), '')
                           +'1'+ExtractFileExt(ExtractFilename(aList.Strings[i]));
            IdFTP.Put(aList.Strings[i], newFilename);
          end;
          FileExistsList.Clear;
      end;
    except
    ...
Die Methode(hier nur ein Ausschnitt) soll alle in aList enthaltenen Dateien(in der Liste steht nat. nur der Pfad) auf den FTP-Server kopieren. Bevor sie das mit idFTP.put() macht, guckt sie per idFTP.List() auf dem Server nach, ob eine Datei mit dem Namen vorliegt. Wenn ja, schreibt sie den Namen der Datei in die FileExstists-Liste.
Ich brauche in jedem Schleifendurchgang also nur gucken, ob in dieser Liste was drinsteht. Ist das der Fall wird die hochzuladene Datei unter anderem Namen abgespeichert, hier in diesem Beispiel wird an den Namen nur ne 1 gehängt.

Vielleicht kanns ja mal wer gebrauchen...

Gruß

Gambit
  Mit Zitat antworten Zitat