procedure DownloadFile(const AIDHttp :TIdHTTP; AURL, AFileName :string; AResume :Boolean);
var
LFileStream :TFileStream;
begin
if FileExists(AFileName) then
LFileStream := TFileStream.Create(AFileName, fmOpenReadWrite)
else
LFileStream := TFileStream.Create(AFileName, fmCreate);
if AResume then
begin
AIDHttp.Request.ContentRangeStart := LFileStream.Size - 1;
LFileStream.Position := LFileStream.Size - 1;
AIDHttp.Head(AURL);
AIDHttp.Request.ContentRangeEnd := AIDHttp.Response.ContentLength;
end
else
AIDHttp.Request.ContentRangeStart := 0;
try
AIDHttp.Get(AURL, LFileStream);
finally
LFileStream.Free;
end;
end;
var
LFileStream :TFileStream;
begin
if FileExists(AFileName) then
LFileStream := TFileStream.Create(AFileName, fmOpenReadWrite)
else
LFileStream := TFileStream.Create(AFileName, fmCreate);
if AResume then
begin
AIDHttp.Request.ContentRangeStart := LFileStream.Size - 1;
LFileStream.Position := LFileStream.Size - 1;
AIDHttp.Head(AURL);
AIDHttp.Request.ContentRangeEnd := AIDHttp.Response.ContentLength;
end
else
AIDHttp.Request.ContentRangeStart := 0;
try
AIDHttp.Get(AURL, LFileStream);
finally
LFileStream.Free;
end;
end;