溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Indy文件斷點(diǎn)續(xù)傳代碼

發(fā)布時(shí)間:2020-07-19 05:53:09 來(lái)源:網(wǎng)絡(luò) 閱讀:391 作者:sbabzc 欄目:軟件技術(shù)

 function TFrmFileManageCard.UpLoadFileBreak(SourseFileName,

  DestFileName: String): Integer;
var
  upsize:int64;
  IDFTP:TidFtp;
  LSourceStream: TFileStream;
  LSourceStreamA:TMemoryStream;
begin
  Result:=-1;
 
  if Application.MessageBox('文件上傳失敗,是否斷點(diǎn)續(xù)傳?','提示!',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;
 
  //如果上傳失敗,繼續(xù)詢(xún)問(wèn)
  if Result<>0 then
  begin
    //如果失敗,繼續(xù)斷點(diǎn)續(xù)傳
    UpLoadFileBreak(SourseFileName,DestFileName);
  end;
end;

本文地址:http://www.xszlo.com/article/2012-09-24/7458.html,轉(zhuǎn)發(fā)請(qǐng)保留這個(gè)地址,謝謝

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI