idhttp怎么不能下载文件部分?

zhangqino2 2008-09-21 04:48:10
不知道为什么总是下下来整个文件,我设的区域明明小于文件大小,我的程序如下,是下张图片。大家帮我看看那错了

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, idhttp, idantifreeze, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
my:tidhttp;
an:tidantifreeze;
size:integer;
url:string;
s:tmemorystream;
begin
my:=tidhttp.Create(nil);
an:=tidantifreeze.Create(nil);
an.OnlyWhenIdle:=false;
s:=tmemorystream.Create;
url:='http://xxx.xxx.com/0001.JPG';
//my.Head(url);
//size:=my.Response.ContentLength;
//edit1.Text:=inttostr(size);
my.Request.ContentRangeStart:=1;
my.Request.ContentRangeEnd:=1700;
my.Get(url,s);
s.SaveToFile('d:\4.jpg');
s.Clear;
my.Destroy;
end;

end.
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangqino2 2008-09-23
  • 打赏
  • 举报
回复
谁能找出问题就怪了,丫的indy10的bug换了indy9就好了
zhangqino2 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 helodd 的回复:]
你那样还没有存在这样一个文件,当然id会自动帮你排错的方式重新下载了。 要断点续传 idhttp.head(aurl); 这样吧
[/Quote]我这个还不是续传,只是测试,与续传理论上是一样的啊,即使我只是下一部分也能改能保存啊
helodd 2008-09-22
  • 打赏
  • 举报
回复
你那样还没有存在这样一个文件,当然id会自动帮你排错的方式重新下载了。 要断点续传 idhttp.head(aurl); 这样吧
zhangqino2 2008-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Rubi 的回复:]
var
    stream:  TMemoryStream;
begin
    stream : =  TMemoryStream.Create;
try
    IdHTTP1.Get('',stream);
    stream.SaveToFile('');
finally
    stream.Free;
end;


用这个看看
[/Quote]下全部文件没问题,问题是我是要下部分,我现在是即使设了range下来也是全部的文件
zhangqino2 2008-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ked 的回复:]
貌似和具体的服务器有关.有的web服务器不支持指定ContentRangeEnd.

[/Quote]同样的文件我用flashget试了可以续传,当然也就可以指定了
Rubi 2008-09-21
  • 打赏
  • 举报
回复
var
stream: TMemoryStream;
begin
stream : = TMemoryStream.Create;
try
IdHTTP1.Get('',stream);
stream.SaveToFile('');
finally
stream.Free;
end;


用这个看看
ked 2008-09-21
  • 打赏
  • 举报
回复
貌似和具体的服务器有关.有的web服务器不支持指定ContentRangeEnd.

1,593

社区成员

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

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