更新过程:
1.FTP的连接:(FTPConnect:Boolean)
Function TForm1.FTPConnect:Boolean; begin result:= IdFtp1.Connected ; if not IdFtp1.Connected then begin with IdFtp1 do begin try UserName := edname.Text ; PassWord := edpass.Text ; Host := edip.Text ; port:=strtoint(edport.Text ); Connect; //FTPGetData; result:=true; except // Application.MessageBox('与服务器连接失败','提示'); result:=false; end; end; end; end; |
2.FTP上文件 的下载(FTPGetData)
procedure TForm1.FTPGetData; var FName1, FName2, aurl: String; FileSt: TFileStream; Node: IXMLNode; i: Integer; procedure UpdateFile; begin if not FileExists(FName2) then //文件不存在时 begin FileSt := TFileStream.Create(FName2, fmCreate); //必须建立文件 try FileSt.Position := FileSt.Size; IdFTP1.Get(FName1, FileSt, false); finally FileSt.Free; end; end else begin IdFTP1.Get(FName1, FName2, True); //这里直接覆盖,续传另外处理 end; end; begin |
idftp1.Host :='192.168.0.28'; idftp1.Username :='test'; idftp1.password:='test'; with idftp1 do try Connect; ChangeDir('./'); // 改变服务器端的目录 //showmessage(idFTP1.RetrieveCurrentDir); //得到服务器端的当前目录 IdFTP1.Put('e:\test.asp','./ttt/test1.asp',true);//上传文件 true为续传 false 为覆盖 //idftp1.Rename('test1.asp1','test2.asp'); //文件改名 //idftp1.MakeDir('uuu');//建立目录 //idftp1.Get('rrr.txt','e:\yhb\down\rrr1.txt'); //下载文件 //经常执行idftp1.put这一步程序就没有响应,但有时可以, //如果出现没有响应,只有使用cuteftp上传(cuteftp可以上传,正常) showmessage('上传TIPS成功'); finally idftp1.Disconnect; end; |