Einzelnen Beitrag anzeigen

Gambit

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

Re: File beim FTP-Transfer nicht überschreiben

  Alt 23. Mär 2005, 16:09
kleines Update:

Das muss nat. auch bei weiteren Versuchen funzen. Beispiel: man hat das File test.txt, welches auf dem Server schon existiert. Dann würde meine erste Version oben beim ersten mal test1.txt draus machen. Gut, versucht aber jemand noch einmal test.txt hochzuladen, würde test1.txt wieder überschrieben was ja nicht sein soll. Es müsste dann test2.txt entstehen. Deswegen folgende Änderung:

Delphi-Quellcode:
FileExistsList:= TStringList.Create;
      for i:= 0 to aList.Count-1 do
      try
        if checkPicture(aList, i) then
        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
              repeat
                j:= j+1;
                FileExistsList.Clear;
                newFilename:= ansiReplaceText(ExtractFilename(aList.Strings[i]),
                               ExtractFileExt(ExtractFilename(aList.Strings[i])), '')
                               +IntToStr(j)+ExtractFileExt(ExtractFilename(aList.Strings[i]));

                IdFTP.List(FileExistsList, newFilename, false);
              until FileExistsList.Count < 1;
              IdFTP.Put(aList.Strings[i], newFilename);
            end;
          end;
      except
      ...
  Mit Zitat antworten Zitat