Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Teilweise Probleme beim Dateidownload (https://www.delphipraxis.net/26113-teilweise-probleme-beim-dateidownload.html)

DRPEnc 18. Jul 2004 17:15


Teilweise Probleme beim Dateidownload
 
Ich hab ein FTP-Client programmiert. Dieser funktioniert soweit. Leider hab ich paar Probleme mit einpaar
Servern. Bei manchen Servern kann ich nur ein paar Dateien downloaden.
Obwohl die Dateien vorhanden sind und ich diese mit SmartFTP z.B. downloaden kann, streikt mein indyclient
mit folgender Meldung:

Project FTPClient.exe raised exception class EIdProtocolReplyError with message 'Test.r05: The system cannot find the file specified.'. Process stopped. Use Step or Run to continue.

Dann werde ich immer auf diese Zeile

IdFTP1.Get(Name, SaveDialog1.FileName, false);

aufmerksam gemacht. Was kann hier der Fehler sein?
Hier der komplette Code für den Downloadprozess:

Delphi-Quellcode:
procedure TMainForm.DirectoryListBoxDblClick(Sender: TObject);
Var
  Name, Line : String;
begin
  if not IdFTP1.Connected then exit;
  Line := DirectoryListBox.Items[DirectoryListBox.ItemIndex];
  Name := IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].FileName;
  if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType = ditDirectory then begin
    //Change directory
    SetFunctionButtons(false);
    ChageDir(Name);
    SetFunctionButtons(true);
  end
  else begin
    try
      SaveDialog1.FileName := Name;
      if SaveDialog1.Execute then begin
        SetFunctionButtons(false);

        IdFTP1.TransferType := ftBinary;
        BytesToTransfer := IdFTP1.Size(Name);

        if FileExists(Name) then begin
          case MessageDlg('Datei existiert bereits. Willst Du mit dem Download weitermachen?',
            mtConfirmation, mbYesNoCancel, 0) of
            mrYes: begin
              BytesToTransfer := BytesToTransfer - FileSizeByName(Name);

            IdFTP1.Get(Name, SaveDialog1.FileName, false, true);
            end;
            mrNo: begin
              IdFTP1.Get(Name, SaveDialog1.FileName, true);
            end;
            mrCancel: begin
              exit;
            end;
          end;
        end
        else begin
        IdFTP1.Get(Name, SaveDialog1.FileName, false);
          end;
      end;
    finally
      SetFunctionButtons(true);
    end;
  end;
end;

scp 18. Jul 2004 18:25

Re: Teilweise Probleme beim Dateidownload
 
Das hört sich für mich nach einem "illegalen" (in zweierlei Hinsicht) Dateinamen an.
Manche laden die Dateien z.B. als "Test.r05 ", also mit einem oder mehreren Leerzeichen am Ende hoch.
Dies bereitet manche FTP-Clienten Probleme (und das soll es offensichtlich auch).

DRPEnc 18. Jul 2004 22:28

Re: Teilweise Probleme beim Dateidownload
 
Das konnte ich leider nicht feststellen. Ist aber einleuchtend.
Ich werde mir das mal genauer ansehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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