如何实现用idhttp断点续传

sdany 2003-09-29 12:09:02
各位老大!.....
困了我一个星期了...
...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzhifei 2003-09-29
  • 打赏
  • 举报
回复
方法在取消符‘//’的后面,你自己看看
xzhifei 2003-09-29
  • 打赏
  • 举报
回复
procedure TForm1.GetButtonClick(Sender: TObject);
var
FileName:String;
begin
HttpCli1.ContentRangeBegin := IntToStr(1024*1024);
HttpCli1.ContentRangeEnd := '';
GetButton.Enabled := FALSE;
HttpCli1.Head;
FileName:=HttpCli1.DocName;
FileName:='C:\'+FileName;
// if not FileExists(FileName) then
// FileClose(FileCreate(FileName));

HttpCli1.RcvdStream := TFileStream.Create(FileName, fmCreate);
// HttpCli1.RcvdStream := TFileStream.Create(FileName, fmOpenReadWrite);
// HttpCli1.ContentRangeBegin := IntToStr(HttpCli1.RcvdStream.Size);
// if HttpCli1.ContentRangeBegin='0' then HttpCli1.ContentRangeBegin:='';
// HttpCli1.RcvdStream.Seek(0,soFromEnd);

AbortButton.Enabled := TRUE;
InfoLabel.Caption := 'Loading';
try
try
HttpCli1.Get;
MemoRcv.Lines.Add(HttpCli1.RcvdHeader.Text);
InfoLabel.Caption := 'Received ' +
IntToStr(HttpCli1.RcvdStream.Size) + ' bytes';
except
on E: EHttpException do begin
InfoLabel.Caption := 'Failed : ' +
IntToStr(HttpCli1.StatusCode) + ' ' +
HttpCli1.ReasonPhrase;;
end
else
raise;
end;
finally
GetButton.Enabled := TRUE;
AbortButton.Enabled := FALSE;
HttpCli1.RcvdStream.Destroy;
HttpCli1.RcvdStream := nil;
end;
end;
微雪缤纷 2003-09-29
  • 打赏
  • 举报
回复
有例子总比没有的强。
sdany 2003-09-29
  • 打赏
  • 举报
回复
不是HttpCli1控件
我是用indy 中的 idhttp 控件
有这样的例子吗?
sdany 2003-09-29
  • 打赏
  • 举报
回复
谢谢
我试试

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧