如何实现下载文件时的断点续传 ???(100分)

  • 主题发起人 主题发起人 d村长
  • 开始时间 开始时间
D

d村长

Unregistered / Unconfirmed
GUEST, unregistred user!
如何编程实现啊???
 
有控件,你要不要?
 
转帖

断点续传是支持从文件的不同偏移开始传送数据,普通传送是从文件开头传送,

在 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来续传的代码。
***********
 
不知哪位同胞使用过ICS没有,怎么安装上去呢?
 
我可以装上去啊,断点续传不难做,就是要自己保存文件开始的位置和每次下载失败的位置
 
后退
顶部