利用ADODB.Stream使用浏览器下载服务器文件

download.asp?file=相对路径的文件
就可以把这个文件下载下来

<% 
 
call downloadFile(replace(replace(Request("file"),"/",""),"/","")) 
 
Function downloadFile(strFile) 
' make sure you are on the latest MDAC version for this to work 
' ------------------------------------------------------------- 
 
 
' get full path of specified file 
strFilename = server.MapPath(strFile) 
 
 
' clear the buffer 
Response.Buffer = True 
Response.Clear 
 
' create stream 
Set s = Server.CreateObject("ADODB.Stream") 
s.Open 
 
' Set as binary 
s.Type = 1 
 
' load in the file 
on error resume next 
 
 
' check the file exists 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
if not fso.FileExists(strFilename) then 
Response.Write("<h1>Error:</h1>" & strFilename & " does not exist<p>") 
Response.End 
end if 
 
 
' get length of file 
Set f = fso.GetFile(strFilename) 
intFilelength = f.size 
 
 
s.LoadFromFile(strFilename) 
if err then 
Response.Write("<h1>Error: </h1>" & err.Description & "<p>") 
Response.End 
end if 
 
' send the headers to the users browser 
Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name 
Response.AddHeader "Content-Length", intFilelength 
Response.CharSet = "UTF-8" 
Response.ContentType = "application/octet-stream" 
 
' output the file to the browser 
Response.BinaryWrite s.Read 
Response.Flush 
 
 
' tidy up 
s.Close 
Set s = Nothing 
 
 
End Function 
 
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值