发新话题
打印

请问asp中如何下载文件?

给你看看我收藏的一段下载代码:  

将下面的东西存成download.asp  
然后你就可以用a  herf="http://xxx.xxx.com/download.asp?n=file.doc">download!</a>  
来下载了!

TOP

<%  
Response.Buffer  =  true  
Response.Clear  

           dim  url  
           Dim  fso,fl,flsize  
           dim  Dname  
           Dim  objStream,ContentType,flName,isre,url1  
'*********************************************调用时传入的下载文件名  
           Dname=trim(request("n"))  
'******************************************************************  
           If  Dname<>""  Then  
'******************************下载文件存放的服务端目录  
                       url=server.MapPath("/")&"\"&Dname  
'***************************************************  
           End  If  

           Set  fso=Server.CreateObject("Scripting.FileSystemObject")  
                       Set  fl=fso.getfile(url)  
                       flsize=fl.size  
                       flName=fl.name  
                       Set  fl=Nothing  
                       Set  fso=Nothing  
           %>  
           <%  
                       Set  objStream  =  Server.CreateObject("ADODB.Stream")  
                       objStream.Open  
                       objStream.Type  =  1  
                       objStream.LoadFromFile  url  


                                   Select  Case  lcase(Right(flName,  4))  
                                               Case  ".asf"  
                                                           ContentType  =  "video/x-ms-asf"  
                                               Case  ".avi"  
                                                           ContentType  =  "video/avi"  
                                               Case  ".doc"  
                                                           ContentType  =  "application/msword"  
                                               Case  ".zip"  
                                                           ContentType  =  "application/zip"  
                                               Case  ".xls"  
                                                           ContentType  =  "application/vnd.ms-excel"  
                                               Case  ".gif"  
                                                           ContentType  =  "image/gif"  
                                               Case  ".jpg",  "jpeg"  
                                                           ContentType  =  "image/jpeg"  
                                               Case  ".wav"  
                                                           ContentType  =  "audio/wav"  
                                               Case  ".mp3"  
                                                           ContentType  =  "audio/mpeg3"  
                                               Case  ".mpg",  "mpeg"  
                                                           ContentType  =  "video/mpeg"  
                                               Case  ".rtf"  
                                                           ContentType  =  "application/rtf"  
                                               Case  ".htm",  "html"  
                                                           ContentType  =  "text/html"  
                                               Case  ".txt"  
                                                           ContentType  =  "text/plain"  
                                               Case  Else  
                                                           ContentType  =  "application/octet-stream"  
                                   End  Select  



                                   Response.AddHeader  "Content-Disposition",  "attachment;  filename="  &  flName  
                                   Response.AddHeader  "Content-Length",  flsize  

                                   Response.Charset  =  "UTF-8"  
                                   Response.ContentType  =  ContentType  

                                   Response.BinaryWrite  objStream.Read  
                                   Response.Flush  
                                   response.Clear()  
                       objStream.Close  
                       Set  objStream  =  Nothing  

%>

TOP

发新话题