我想用HttpCli实现一个带有下载恢复功能的下载管理器,如FtpClient(ICS Components)中所示。在FtpClient中,这是使用RestGetAsync
实现的。我遇到了两个属性ContentRangeBegin
和ContentRangeEnd
。
我已将ContentRangeBegin
= 192和ContentRangeEnd
设置为500字节。我将网址设置为“http://www.google.com”。
我预计只会下载ContentRangeEnd
- ContentRangeBegin
。但是下载了完整的文件。
我将RcvdStream设置为
HttpCli1.RcvdStream := TFileStream.Create('c:\a.txt',fmCreate);
//设置为OpenWrite模式只会将完整文件附加到现有文件中。
a.txt存在于C:\驱动器中,大小为197字节。
还需要做些什么?
提前致谢
答案 0 :(得分:1)
代码很好。我将URL更改为“www.overbyte.be”,文件已部分下载。 这是我的代码,可以对其他人有所帮助。
HttpCli2.URL := 'http://www.overbyte.be';
HttpCli2.Proxy := 'xxxx';
HttpCli2.ProxyPort := 'xxxx';
Try
HttpCli2.RcvdStream := TFileStream.Create('E:\sanj\t1.txt',fmCreate);
Except
End;
HttpCli2.ContentRangeBegin := '100';
HttpCli2.ContentRangeEnd := '232';
Try
HttpCli2.Get;
httpCli1.RcvdStream.Free;
httpCli1.RcvdStream := nil;
ShowMessage('Status code =' + IntToStr(HttpCli2.StatusCode) + ' , reason -> ' +HttpCli2.ReasonPhrase);
Except
End;