图片、word等文档直接下载

这片代码是我从网上找了好就找来的,在这里跟大家分享一下

想必大家在做下载链接时也遇到过这样的问题,当要做图片或word等文档下载时IE会把文档直接打开而不是弹出下载菜单,遇到这个问题时就可以通过下面的代码解决问题

 

 1<%
 2Response.Buffer = true
 3Response.Clear
 4
 5dim url
 6Dim fso,fl,flsize
 7dim Dname
 8Dim objStream,ContentType,flName,isre,url1
 9'*********************************************调用时传入的下载文件名
10Dname=trim(request("n"))
11'******************************************************************
12If Dname<>"" Then
13'******************************下载文件存放的服务端目录
14url=server.MapPath("/")&"/"&Dname
15'***************************************************
16End If
17
18Set fso=Server.CreateObject("Scripting.FileSystemObject")
19Set fl=fso.getfile(url)
20flsize=fl.size
21flName=fl.name
22Set fl=Nothing
23Set fso=Nothing
24%>
25<%
26Set objStream = Server.CreateObject("ADODB.Stream")
27objStream.Open
28objStream.Type = 1
29objStream.LoadFromFile url
30
31
32Select Case lcase(Right(flName, 4))
33Case ".asf"
34ContentType = "video/x-ms-asf"
35Case ".avi"
36ContentType = "video/avi"
37Case ".doc"
38ContentType = "application/msword"
39Case ".zip"
40ContentType = "application/zip"
41Case ".xls"
42ContentType = "application/vnd.ms-excel"
43Case ".gif"
44ContentType = "image/gif"
45Case ".jpg""jpeg"
46ContentType = "image/jpeg"
47Case ".wav"
48ContentType = "audio/wav"
49Case ".mp3"
50ContentType = "audio/mpeg3"
51Case ".mpg""mpeg"
52ContentType = "video/mpeg"
53Case ".rtf"
54ContentType = "application/rtf"
55Case ".htm""html"
56ContentType = "text/html"
57Case ".txt"
58ContentType = "text/plain"
59Case Else
60ContentType = "application/octet-stream"
61End Select
62
63
64
65Response.AddHeader "Content-Disposition""attachment; filename=" & flName
66Response.AddHeader "Content-Length", flsize
67
68Response.Charset = "UTF-8"
69Response.ContentType = ContentType
70
71Response.BinaryWrite objStream.Read
72Response.Flush
73response.Clear()
74objStream.Close
75Set objStream = Nothing
76
77%>

 

 

将上面的代码存成download.asp然后你就可以用<a herf=http://xxx.xxx.com/download.asp?n=<%=rs("**")%>点击下载</a> 来下载同一目录下的文件了!

唯一要注意的就是路径问题,数据库里保存的最好仅是文件的文件名,而不是整个相对路径

posted on 2009-03-22 15:22  浪紫  阅读(419)  评论(0)    收藏  举报

导航