网络编程
位置:首页>> 网络编程>> Asp编程>> 利用ADODB.Stream使用浏览器下载服务器文件

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

  发布时间:2008-10-09 12:42:00 

标签:Adode,stream,下载,asp

本文介绍使用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 
 
%>


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com