打印本文 打印本文 关闭窗口 关闭窗口
利用ADODB.Stream使用浏览器下载服务器文件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数599  更新时间:2009/4/23 10:45:10  文章录入:mintao  责任编辑:mintao
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 
 
%>

打印本文 打印本文 关闭窗口 关闭窗口