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

来源(久久网络-网络学堂-网络编程)

From: http://www.99net.net/study/prog/6710411.htm

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

--------------------------------------------------------------------------------
2003-4-10 14:26:30

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

<%  
2  
3 call downloadFile(replace(replace(Request("file"),"\",""),"/",""))  
4  
5 Function downloadFile(strFile)  
6 ' make sure you are on the latest MDAC version for this to work  
7 ' -------------------------------------------------------------  
8  
9  
10 ' get full path of specified file  
11 strFilename = server.MapPath(strFile)  
12  
13  
14 ' clear the buffer  
15 Response.Buffer = True  
16 Response.Clear  
17  
18 ' create stream  
19 Set s = Server.CreateObject("ADODB.Stream")  
20 s.Open  
21  
22 ' Set as binary  
23 s.Type = 1  
24  
25 ' load in the file  
26 on error resume next  
27  
28  
29 ' check the file exists  
30 Set fso = Server.CreateObject("Scripting.FileSystemObject")  
31 if not fso.FileExists(strFilename) then  
32 Response.Write("<h1>Error:</h1>" & strFilename & " does not exist<p>")  
33 Response.End  
34 end if  
35  
36  
37 ' get length of file  
38 Set f = fso.GetFile(strFilename)  
39 intFilelength = f.size  
40  
41  
42 s.LoadFromFile(strFilename)  
43 if err then  
44 Response.Write("<h1>Error: </h1>" & err.Description & "<p>")  
45 Response.End  
46 end if  
47  
48 ' send the headers to the users browser  
49 Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name  
50 Response.AddHeader "Content-Length", intFilelength  
51 Response.CharSet = "UTF-8"  
52 Response.ContentType = "application/octet-stream"  
53  
54 ' output the file to the browser  
55 Response.BinaryWrite s.Read  
56 Response.Flush  
57  
58  
59 ' tidy up  
60 s.Close  
61 Set s = Nothing  
62  
63  
64 End Function  
65  
66 %>  

Link: http://www.asm32.net/article_details.aspx?id=799


浏览次数 434 发布时间 2006-05-03 22:50:05 从属分类 网络编程 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1