熱點推薦:
您现在的位置: 電腦知識網 >> 軟件專區 >> 正文

BCB編程中實現斷點續傳

2013-09-12 15:53:24  來源: 軟件專區 

  NMFTP是Delphi、Borland C++ Builder(以下簡稱BCB)自帶的FastNet控件組中的一個組件,主要用於實現FTP上傳、下載等功能。它在開發一些小型、簡單的網絡應用軟件時非常有用。筆者最近在使用BCB6開發一套FTP客戶端軟件時需要實現斷點上(續)傳(以下用"斷點續傳"特指斷點上(續)傳),最終通過NMFTP得以實現,在此將問題解決過程寫出來,與廣大程序員共飨。
一、系統函數假續傳
  用過NMFTP的朋友都知道,NMFTP有三個上傳函數可以滿足絕大部分的上傳操作。它們分別是:Upload()、UploadAppend()、UploadRestore()、UploadUnique(),這四個函數的原型為:
  procedure Upload(LocalFile, Remote
  File: string);
  procedure UploadAppend(LocalFile, RemoteFile: string);
  procedure UploadRestore(LocalFile, RemoteFile: string; Position: Integer);
  procedure UploadUnique(LocalFile: string);
  筆者的軟件要求在FTP服務器不授予"刪除"權限的條件下完成文件傳輸,且上傳的文件要與本地文件同名。Tw.wingWIT.COm因此斷點續傳是解決問題的唯一途徑。通過幫助文檔可以知道,UploadRestore()、UploadAppend()兩個函數都能滿足要求,兩者唯一不同之處在於前者需要指定斷點位置,而後者自動將文件接續在已上傳的文件後(服務器上文件名需要與"RemoteFile"參數指定的文件名相同)。
  實際使用過程中,發現兩者確實都可以完成續傳的目的,但是直接使用這兩個函數完成續傳以後的文件無法使用,而文件大小是續傳前的大小與原文件大小之和,也就是說,這兩個函數完成的"續傳"是把文件從前次斷點處重新從頭傳了一遍,而並沒有真正的從斷點處"續傳"。

 
From:http://tw.wingwit.com/Article/Software/201309/344.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.