Indy文件断点续传代码

发布时间:2020-07-19 05:53:09 作者:sbabzc
来源:网络 阅读:398

 function TFrmFileManageCard.UpLoadFileBreak(SourseFileName,

  DestFileName: String): Integer;
var
  upsize:int64;
  IDFTP:TidFtp;
  LSourceStream: TFileStream;
  LSourceStreamA:TMemoryStream;
begin
  Result:=-1;
 
  if Application.MessageBox('文件上传失败,是否断点续传?','提示!',MB_YESNO)<>ID_YES then
  begin
    Exit;
  end;
 
  try
    try
      IDFTP:=TidFtp.Create(Nil);
      LSourceStream := TFileStream.Create(SourseFileName, fmOpenRead or fmShareDenyNone);
              
      IdFTP.Abort;
      IdFTP.Host:=FTPHTTPControl.CUR_C_FTPSERVER;
      IdFTP.Port:=FTPHTTPControl.CUR_I_FTPPORT;
      IdFTP.Username:=FTPHTTPControl.CUR_C_FTPUSER;
      IdFTP.Password:=FTPHTTPControl.CUR_C_FTPPWS;
 
      IdFTP.Connect();
 
      try
        IdFTP.ChangeDir(AMShare.CurP_MMroomData.C_MMROOM_ID);
      except
        IdFTP.MakeDir(AMShare.CurP_MMroomData.C_MMROOM_ID);
        IdFTP.ChangeDir(AMShare.CurP_MMroomData.C_MMROOM_ID);
      end;
 
      try
        IdFTP.ChangeDir(Copy(ExtractFIleName(DestFileName), 1, 1));
      except
        IdFTP.MakeDir(Copy(ExtractFIleName(DestFileName), 1, 1));
        IdFTP.ChangeDir(Copy(ExtractFIleName(DestFileName), 1, 1));
      end;
      try
        IdFTP.ChangeDir(Copy(ExtractFIleName(DestFileName), 2, 1));
      except
        IdFTP.MakeDir(Copy(ExtractFIleName(DestFileName), 2, 1));
        IdFTP.ChangeDir(Copy(ExtractFIleName(DestFileName), 2, 1));
      end;
 
      upsize:=IdFTP.Size(ExtractFIleName(DestFileName));
 
      LSourceStream.Position:=upsize;
 
      IdFTP.Passive:=True;
      IdFTP.Put(SourseFileName,ExtractFIleName(DestFileName),true);
 
      IdFTP.Disconnect;
      Result:=0;
    except
    end;
  finally
    FreeANdNil(IDFTP);
    FreeANdNil(LSourceStream);
 
  end;
 
  //如果上传失败,继续询问
  if Result<>0 then
  begin
    //如果失败,继续断点续传
    UpLoadFileBreak(SourseFileName,DestFileName);
  end;
end;

本文地址:http://www.xszlo.com/article/2012-09-24/7458.html,转发请保留这个地址,谢谢

推荐阅读:
  1. C# 文件下载之断点续传
  2. php断点续传之分割合并文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

断点 %d

上一篇:搭建nagios监控步骤

下一篇:新手入门篇:虚拟机搭建hadoop环境的详细步骤

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》