首页
社区
课程
招聘
[求助]Delphi Idhttp控件断点续传下载问题,请教大侠们!
发表于: 2015-11-8 23:48 4530

[求助]Delphi Idhttp控件断点续传下载问题,请教大侠们!

2015-11-8 23:48
4530
Delphi Idhttp控件断点续传下载问题,请教大侠们!

我用DELPHI的IDHTTP控制件实现断点续传下载文件。
断开连接后继续下载,下载的文件总大小一直在涨。
如,要下载的文件本来只有2000K,本次下载了500K,断开连接后,下次断点续传下载时,文件长大到2500K左右。我上一下代码,也是网上的代码。我用输出信息看到取本地文件及网络文件大小都正常,但下载就是不行,老涨体积。

procedure TUpdateForm.HttpDownLoad(AUrl, AFile: string; BResume: Boolean);
var
TStream: TFileStream;
begin
try
if FileExists(AFile) then //如果文件已经存在
begin
TStream := TFileStream.Create(AFile, fmCreate);
end
else begin
TStream := TFileStream.Create(AFile, fmCreate);
end;

try
if BResume then //续传方式
begin
IdHTTP1.Request.ContentRangeStart := TStream.Size - 1;
TStream.Position := TStream.Size - 1; //移动到最后继续下载
IdHTTP1.Head(AUrl);
IdHTTP1.Request.ContentRangeEnd := IdHTTP1.Response.ContentLength;
end
else begin
IdHTTP1.Request.ContentRangeStart := 0; //覆盖或新建方式
end;

IdHTTP1.Get(AUrl, TStream); //开始下载
finally
FreeAndNil(TStream);
end;
except
on E: Exception do
begin
WriteLog('IDHTTP.log', Concat('错误信息:', PChar(E.Message)));
end;
end;
end;

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2305
活跃值: (4554)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不会用·1!
2015-11-8 23:50
0
雪    币: 95
活跃值: (379)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
大大们,来帮忙看下啊。谢谢。
2015-11-9 22:22
0
雪    币: 223
活跃值: (1555)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这类问题,建议楼主还是去别的论坛,给你推荐一个:bbs2.2ccc.com或bbs.2ccc.com(delphi盒子)
2015-11-9 22:42
0
游客
登录 | 注册 方可回帖
返回
//