<%
Set Fs = Server.CreateObject("Scripting.FileSystemObject") 'Fso對(duì)象
Set Ado = Server.CreateObject("Adodb.Stream") 'Ado對(duì)象
i = 0 '計(jì)數(shù)器
r = 1024 '每次讀取大小(byte)
FilePath = Server.MapPath("xxxx.rar") '文件路徑
Ado.Mode = 3 '1 讀,2 寫(xiě),3 讀寫(xiě)。
Ado.Type = 1 '1 二進(jìn)制,2 文本。
Ado.Open
Ado.LoadFromFile(FilePath) '載入文件
Response.AddHeader "Content-Disposition", "attachment; filename=" & Fs.GetFile(FilePath).name '文件名
Response.AddHeader "Content-Length", Ado.size '通知瀏覽器接收的文件大小
Response.ContentType = "application/octet-stream" '通知瀏覽器接受的文件類(lèi)型(可自己定義,很多種,但一般都用這個(gè).)
While i < Ado.Size '循環(huán)讀取直到讀完為止
Response.BinaryWrite Ado.Read(r) '輸出二進(jìn)制數(shù)據(jù)流
Response.Flush '立即發(fā)送(要求至少256字節(jié)),不加的話可能提示超過(guò)緩存區(qū)。
i = i + r '累加計(jì)數(shù)器
Wend
Ado.Close '關(guān)閉文件對(duì)象
Response.End
%>