首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > vbScript >

不懂,不懂。看得懂每一句的意思,但不知道是什么原理?(文件下载)解决办法

2012-02-22 
不懂,不懂。看得懂每一句的意思,但不知道是什么原理?(文件下载)%Dim StreamDim ContentsDim FileNameDim T

不懂,不懂。看得懂每一句的意思,但不知道是什么原理?(文件下载)

<%Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
Response.Clear
Response.ContentType = "application/ms-download"
Response.AddHeader "content-disposition", "attachment; filename="&softname&"." & F_Ext & ""
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(""&downurl&"")
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
end if
rs.close
set rs=nothing
%> 
问题:1、“adTypeBinary”是什么值啊。2、代码的表面意思知道了,但不知道是怎样的过程,整个下载程序的流程是怎样分布设定的?

[解决办法]
1. 代码里有 Const adTypeBinary = 1 
2. 整个过程涉及到http协议, 可以参考 http://www.ietf.org/rfc/rfc2183.txt

[解决办法]
基本原理是这样的:设置向client输出的内容类型并设置头信息,然后使用 流 形式以二进制方式打开并读取服务器上指定的文件,再向client端的缓存输出整个文件的内容;也即把服务器上的文件内容以二进制的流的形式向客户端输出就可以了

Stream.Type = adTypeBinary = 1 指定以2进制流形式

热点排行