程序中是用的NMFTP从服务器中下载需要的文件,下载的文件总共有二十来个的样子,下载的单个文件通常都是几百K至2M左右。 我的问题是若客户端和服务器在一个网段上的时候,不管下多大的文件都能正确下载,但如果跨了几个网段,如果那些下载的文件中有某个文件较大的话(其实也不算很大,4M左右,每月总有一天,有一个要下载的文件会突破4M),这个较大的文件总是下载不全,不得其解,盼有解答
解决方案 »
- EhLib 6.1弹出广告如何消除
- OpenGL问题:鼠标不同步,重画时有双影,怎么解决?
- delphi中怎么获取ListView选中的文件数量
- 怎麼解決DATASET NOT IN EDITOR OR INSERT ?
- ★★★★★★★★写通用查询模块时碰到的两个问题★★★★★★★★★★
- 为什么用QuickRep做的报表在EPSOONEPSON STYLUS COLOR 460中打印不出来啊?
- 制作安装以后出现的问题,请赐教!!!
- 为什么关于ADOQuery中的 for i to for j to 循环传数据有问题?
- 请同时装Delphi5和Delphi6的高手进来!
- 请问专家分怎么得啊
- 在 WebBrowser 控件中,我希望WebBrowser可以和应用程序交流数据,如何解决?
- 这种过程怎么写阿?帮帮忙,谢了!
不会就这么不声不响的就完了吧?
或者你可以在INTERNET上试试会不会有这样的情况呢?
断点续传是支持从文件的不同偏移开始传送数据,普通传送是从文件开头传送,
在 RETR 或 STOR 命令发送前先发送一个 REST xxx,表示从文件的偏移 xxx 处开始传送,注意,有的服务器可能不支持 REST 命令。如果使用ICS控件,那么HttpCli.ContentRangeBegin := '100' 表示从100开始HttpCli.ContentRangeEnd :='' 表示一直到结束HttpCli.ContentRangeEnd :='200' 表示到200字节处结束如果使用 TNMHTTP 控件在OnAboutToSend事件,写:NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-' 表示从100字节处开始下载到最后NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-200' 表示从100字节处开始下载到200字节处结束***************procedure TForm1.Button6Click(Sender: TObject);varf:TSearchRec;beginFindFirst('a.doc',faAnyFile,f);fPreSize:=f.Size;NMFtp.DoCommand('Rest '+IntToStr(fPreSize));NMFtp.DownloadRestore('a.doc','a.doc');end;这是用TNMFtp来续传的代码。
---以上资料来自《DELPHI TIPS》
那个FindFirst是自定义函数吗?我在delphi的帮助里找不到啊!
你的代码中的那个FindFirst()是自定义函数吗?我怎么在Delphi的帮助里找不到?
文件全部下载完后,没有断开FTP继续对下载到本地的文件做别的处理,可是如果过了大概十来分钟才处理完后,FTP好象自己自动断开了,如果只处理几分钟的话,FTP不会断开,这时又可以下载别的文件了,这是怎么回事?