用IDHTTP下载FLV文件始终不对怎么回事?(200分)

  • 主题发起人 主题发起人 yyst
  • 开始时间 开始时间
Y

yyst

Unregistered / Unconfirmed
GUEST, unregistred user!
用IDHTTP下载FLV文件,用FILESTREAM对象写到文件,在程序中用进度条查看下载进度。
但IDHTTP提示下载完毕,进度条也到100%了,结果到下载目录中不是文件损坏打不开就是文件长度严重少于应该下载的长度:FLV文件可能有80M左右,结果下载文件几百K到几M不等。怎么回事?百思不得其解!

以下是程序片段,其它是显示下载进度的就不用列出来了。各位大大看看啊!
……
var
FS: TFileStream;
……
begin
URL:='http://125.68.56.11/fcs22.56.com/flvdownload/8/16/hxqweb@56.com_56flv_sc_1185251774_251.flv';
Path:='c:/1.flv';
FS := TFileStream.Create(Path, fmcreate);
try
aMyidhttp1.Get(URL, FS);
finally
FS.Free;
aMyidhttp1.Free;
end;
end;
 
高手来看看啊
 
FLVSpy.exe
是不是超时了
 
看程序好像没啥问题,是不是人家网站做了检测?
 
TO:cxz9

FLVSPY。EXE超时是个什么概念?是IDHTTP连接超时么?怎么避免由于IDHHP连接超时引起的文件下载失败?

to 无欲则刚
应该不是网站的问题,因为有个时候又能下完的,感觉这是随机出现的,有个时候能下完有个时候就几K,自己感觉是文件流对象FILESTREAM引起的。因为我在IDHTTP的onwork事件中做了个数据统计显示,表面看能一直下完,但就是写入文件的数据大小不对。百思不得其解,。我filestream后做了个EfilestreamError异常处理(如下),也没有错误弹出。郁闷了

谢谢两位关注!
 
再顶上去,请高手看看。
 
后退
顶部