| 网站首页 | | 网站简介 | | 公司新闻 | | 公司业务 | | 技术相关 | | 安全相关 | | 网络文章 | | 网站论坛 | | 典型案例 | | 客户留言 |  
 首页 >> 技术相关 >> ASP技术

DOC文件直接下载


[日期:2006-5-7 10:14:19] [作者: 管理员] [字体大小:

Q:我在网页上有一个连接。连接的内容是*.doc  ,我想实现的是在用鼠标(左击)点击时出现另存窗口,而不是直接打开该文件 ?

A:
 你写一个DL.asp文件,这个文件源码如下:  
********************  
dl.asp  
********************  
<%  
Response.Buffer  =  true  
Response.Clear              
 
'获取要下载的文件在服务器上的绝对位置  
dlfile=trim(request("dlfile"))  
   If  dlfile<>""  Then  
   fileurl=server.MapPath(dlfile)  
   Else  
   Response.end  
   End  If  
 
'创建Myfso,使用FSO组件  
   Set  Myfso=Server.CreateObject("Scripting.FileSystemObject")  
   Set  f=Myfso.getfile(fileurl)  '定义FSO对象f  
       fsize=f.size  '文件大小  
       fName=f.name  '文件名字  
   Set  f=Nothing    '释放f  
   Set  Myfso=Nothing  '释放MyFso  
 
'使用Adodb.Stream组件  
Set  MyStream  =  Server.CreateObject("ADODB.Stream")  
MyStream.Open  
MyStream.Type  =  1  
MyStream.LoadFromFile  fileurl  
 
'读取文件类型,让系统识别,以存为不同类型的文件。  
Select  Case  lcase(Right(fName,  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  ".asp"  
           ContentType  =  "text/html"  
   Case  ".txt"  
           ContentType  =  "text/plain"  
   Case  Else  
           ContentType  =  "application/octet-stream"  
   End  Select  
 
'下载  
Response.AddHeader  "Content-Disposition",  "attachment;  filename="  &  fName  
Response.AddHeader  "Content-Length",  fsize  
Response.Charset  =  "UTF-8"  
Response.ContentType  =  ContentType  
Response.BinaryWrite  MyStream.Read  
Response.Flush  
 
'释放MyStream  
MyStream.Close  
Set  MyStream  =  Nothing  
%>  
********************************  
然后你在要实现的页面中这样调用:  
 
*****************************************  
<a  href="dl_dlfile_dl.doc.html">dl.doc</a>  
*****************************************


    [阅读次数:82]
 [新闻出处:]
 上一条新闻: 默认点击下载pdf等文件而不是在浏览器中打开
 下一条新闻: 一些有用的ASP注入相关的命令
相关新闻:
站 内 搜 索
请输入查询的字符串:

 
点 击 排 行
页 面 广 告
 
关于我们 | 联系方式 | 支付方式 | 站点统计
版权所有 DoILike.Com Ltd.,地址:山东省济南市舜耕路22号综合楼101室
电 话:13065088567 联系人:许老师 设计制作:DoILike.COM