利用ADODB.Stream使用浏览器下载服务器文件 |
|
| 2003-04-10 |
| |
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 %>
|
|
| |
|
发表评论
推荐文章
关闭窗口
|
|
|
|