转帖
断点续传是支持从文件的不同偏移开始传送数据,普通传送是从文件开头传送,
在 RETR 或 STOR 命令发送前先发送一个 REST xxx,表示从文件的偏移 xxx 处
开始传送,注意,有的服务器可能不支持 REST 命令。
如果使用ICS控件,那么
HttpCli.ContentRangeBegin := '100' 表示从100开始
HttpCli.ContentRangeEnd :='' 表示一直到结束
HttpCli.ContentRangeEnd :='200' 表示到200字节处结束
如果使用 TNMHTTP 控件
在OnAboutToSend事件,写:
NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-' 表示从100字节处开始下载到最后
NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-200' 表示从100字节处开始下载到200字节处结束
***************
procedure TForm1.Button6Click(Sender: TObject);
var
f:TSearchRec;
begin
FindFirst('a.doc',faAnyFile,f);
fPreSize:=f.Size;
NMFtp.DoCommand('Rest '+IntToStr(fPreSize));
NMFtp.DownloadRestore('a.doc','a.doc');
end;
这是用TNMFtp来续传的代码。
***********