为什么简单的Delphi FTP上传zip文件会产生损坏的文件?

时间:2015-09-29 12:26:58

标签: delphi ftp indy

我无法使用TidFTP上传文件。源是一个已知的好zip文件,下面的代码用于传输它。它传输得非常好,我可以使用FTP查看器WinSCP将站点副本再次拖放回我的桌面,但是然后它不能打开' Zip文件无效'信息。 该文件大约是137k,上传的文件和源文件之间有3个字节的文件大小差异,所以很明显它们不一样。如果我取消注释验证操作,它也会返回FALSE。

任何人都可以建议我的样子吗?我使用的是Delphi 10和Windows 10。

procedure TForm1.Button1Click(Sender: TObject);
var
  FTP : TidFTP;
const
  sSourceFile = 'C:\scratch\hope.zip';
  sDestFolder = '/scratch';
  sDestFileName = 'hope.zip';
begin
  FTP := TidFTP.Create( nil );
  try
    FTP.Host := 'www.mysite.co.uk';
    FTP.Username := 'username';
    FTP.Password := 'password';
    FTP.Passive := True;
    FTP.TransferTimeout := 1000;
    FTP.ConnectTimeout := 2000;
    FTP.ReadTimeout := 3000;

    FTP.Connect();

    FTP.ChangeDir( sDestFolder );
    FTP.Put( sSourceFile, sDestFileName );

    //if not FTP.VerifyFile( sSourceFile, sDestFileName ) then
    //  ShowMessage( 'File verify error' );

    ShowMessage( 'done' );

  finally
    FTP.Disconnect;
    FTP.Free;
  end;
end;

0 个答案:

没有答案