小弟想做一个文件下载的程序,想通过得到HTTP头在文件下载前得到文件的大小
如果小于某个值比如100K,则不下载该文件。
具体如何实现请教大家方法或者代码
如果小于某个值比如100K,则不下载该文件。
具体如何实现请教大家方法或者代码
解决方案 »
- 我的下周代码 怎么老有“Destination file already exists.”错误啊 谁有正确代码啊??
- 请教一个文件存储的问题
- 我想在SQL语句在发送到数据库前的对他进行校验,检查基本的语法是否正确!!
- 如何设置sql server2000中的日期格式?
- 有谁知道TAB键的ASCII码是多少
- 大家说说东软NEUSoft怎样?今天复试结束了,工作地点应该是大连,月工资可能是2200,不知道是不是应该签约。。。
- 求表达式正确与否的校验算法
- 列表框的分栏
- 高分求解!!!多层应用系统的master/detail数据库,远程数据模块的设置问题!
- 关于treeview控件的,一定给分
- 控件的安装
- 求个文件备份的例子
1. InternetOpen
2. InternetOpenUrl
3. HttpQueryInfo (到这一步可以取得文件大小)
......
SendStr:=SendStr+'Accept: */*'+#13#10;
SendStr:=SendStr+'Host: '+Host+#13#10;
SendStr:=SendStr+#13#10;
ClientSocket.Socket.SendText(SendStr);
while ClientSocket.Active do
begin
FStr:=TStringStream.Create('');
FSocketStream:= TWinSocketStream.Create(ClientSocket, TimeoutInt);
while ClientSocket.Connected do
begin
if not FSocketStream.WaitForData(TimeoutInt) then Break;
ZeroMemory(@Buf,SizeOf(Buf));
Res := FsocketStream.Read(Buf, 1);
if Res=0 then break;
FStr.Write(Buf,Res);
if Pos(#13#10,FStr.DataString)<>0 then
begin
Break;
end;
end;
CmdStr:=FStr.DataString;
if Pos(LowerCase('Content-Length: '),LowerCase(CmdStr))=1 then
begin
ValueInt:=StrToInt(Copy(CmdStr,Length('Content-Length: ')+1,Length(CmdStr)));
end;
end;
代码在这里了,原理如楼上所说