用NMTTP下载文件。是不是有大小限制?

axinjiang 2003-10-26 12:35:00
为什么下载小文件正常。。下一个2.4M的文件就出错了。
错误信息为:socket 发送错误!

procedure TForm1.FormCreate(Sender: TObject);
begin
NMHTTP1.InputFileMode:=true;
NMHTTP1.TimeOut:=2000;
NMHTTP1.Body:='tempfileName';
NMHTTP1.Header:='HeaderFileName';

ProgressBar1.Min:=0;
ProgressBar1.Max:=100;
ProgressBar1.Position:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
NMHTTP1.Get(edtURL.Text);
end;

procedure TForm1.NMHTTP1Success(Cmd: CmdType);
var
filName:string;
buf:string;
pnewfile,poldFile:pchar;
i:integer;
begin
filName:=NMHTTP1.Body;
for i:=length(edtURL.Text) downto 1 do
if edtURL.Text[i]<>'/' then
buf:=edtURL.Text[i]+buf
else
break;

GetMem(poldFile,length(filName)+1);
strPcopy(poldFile,filName);

GetMem(pnewFile,length(filName)+1);
strPcopy(pnewFile,buf);

MoveFile(poldFile,pnewFile);
freemem(poldfile);
FreeMem(pNewFile);

statusbar1.Panels.Items[0].Text:='下载完成';
tempFileName.Caption:=filName;
finalFileName.Caption:=buf;


end;
...全文
53 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
axinjiang 2003-10-27
  • 打赏
  • 举报
回复
呵呵。。
axinjiang 2003-10-27
  • 打赏
  • 举报
回复
晕晕。真的设置TimeOut:=0就可以了。
但是这是为什么呀???
ly_liuyang 2003-10-26
  • 打赏
  • 举报
回复
好像是2/4G的

不要再用NM,强调多次了,Indy才好的
NM没开源,什么都不好办

http://lysoft.7u7.net
hnhb 2003-10-26
  • 打赏
  • 举报
回复
你把TimeOut设为0试试,你这个问题我也遇到过,改这个属性值后就没问题了,不过,后来还是觉得Indy好,至少它的源码。建议你别用NM了。

1,594

社区成员

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

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