IdFTP Get()問題 |
缺席
|
jimlee
一般會員 發表:16 回覆:13 積分:5 註冊:2005-07-20 發送簡訊給我 |
我目前用IndyFTP寫了一個Client自動向Server取檔的service application。
因為程式碼有點長…所以我先po出我覺得有問題的地方…
程式的下載動作:
Client在向Server get檔案時,
我先將檔名命名為XXX.encode…等取完檔案後,
便會解碼為XXX.正常的副檔名… 我面臨到的問題是,假設Server端有一檔案20051212.UUU好了…
Client自動連上了此ftp…在get時,我的目錄下也產生了20051212.encode…
但檔案並沒有開始下載…也就是檔案大小一直是0 kb…然後service就會整個hode在那邊而無法停止服務…程式沒有error message產生,在事件檢視器也沒有事件發生…so…想請問板友們,有什麼狀況會產生這樣的問題?謝謝。
procedure TBakFormG.Get(FileName: String; bakIP : String = ''); var EncodedFullPath: String; DecodedFullPath: String; tmpB : Boolean; begin tmpB := FTP.Connected; if (FTP.Connected = False) then begin tmpB := bakConnect(bakIP); end; if tmpB then begin //建立檔案路徑 if not DirectoryExists(TempDLDir pubATMID) then CreateDir(TempDLDir pubATMID); if not DirectoryExists(setDLDir pubATMID) then CreateDir(setDLDir pubATMID); EncodedFullPath := TempDLDir pubATMID '\' FileName '.Encoded'; DecodedFullPath := setDLDir pubATMID '\' pubATMID FileName; if FileExists(EncodedFullPath) then begin DeleteFile(EncodedFullPath); end; FTP.TransferType := ftBinary; try FTP.Get(FileName, EncodedFullPath, True, True); except bIPList[IPList.IndexOf(bakIP)] := False; Disconnect(); DeleteFile(EncodedFullPath); exit; end; if FileExists(DecodedFullPath) then begin DeleteFile(DecodedFullPath); end; //檔案解碼 SCodec.CodecFile(EncodedFullPath, DecodedFullPath); DeleteFile(EncodedFullPath); end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |