好源码站-站长学院 - 首页

| 网络编程 | 数据库类 | 网页设计 | 服务器类 | 网站推广 |

搜索:

收藏本站|| 广告服务 |

您的位置:好源码站-站长学院-> 网络编程-> ASP教程-> ASP实现文件直接下载

ASP教程

ASP教程
PHP教程
.Net教程
JSP教程
XML教程
CGI教程

本类阅读TOP10

·动网论坛超级安装指南,新新人类请进来看看
·ASP应用之模板采用
·如何使用ASP建立虚拟的FTP服务器
·使用ASP+jmail进行邮件群发
·用ASP程序组建基于WWW的聊天室
·利用ASP打造个性化论坛(上)
·asp学习注意
·一个asp和javascript传参数的列子
·ASP错误代码
·ASP教程:第十九篇 最新的ASP、IIS安全漏洞

广告
ASP实现文件直接下载

作者:未知 来源:未知 加入时间:2007-6-7 www.haocodes.com

在IE进行文档链接时,如果遇到OLE支持的文档,IE会自动调用相应程序打开它,有时候这种功能并不是我们所需的,虽然我们可以提醒用户用鼠标右键-->"目标另存为...."命令来下载文档,但这样毕竟不太友好,本文描述了利用FSO及Stream方法实现IE直接下载文档。

主程序代码如下:
--------------------------------------------------------------------------------
'定义所有需要使用的变量
Dim strFilename,S,Fso,F,intFilelength
strFilename = Server.MapPath(Trim(Request("File")))    
Response.Buffer = True    
Response.Clear    
Set S = Server.CreateObject("ADODB.Stream")    
S.Open    
S.Type  =  1    
On  Error  Resume  Next    
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
If Not Fso.FileExists(strFilename) Then
Response.Write("<h1>Error:</h1>"&strFilename&"你要下载的文件不存在!<p>")    
Response.End    
End  If

Set F = Fso.GetFile(strFilename)    
intFilelength = F.Size '获取文件大小
S.LoadFromFile(strFilename)    
If Err Then    
Response.Write("<h1>Error: </h1>Unknown Error!<p>")    
Response.End
End If  

Response.AddHeader "Content-Disposition","attachment;filename="&F.name    
Response.AddHeader "Content-Length",intFilelength    
Response.CharSet = "GB2312"    
Response.ContentType = "application/octet-stream"    
Response.BinaryWrite  S.Read    
Response.Flush        
S.Close    
Set S = Nothing



相关文章


关于本站服务条款广告服务客服中心发布文章

客服QQ:6508128
好源码站-版权所有 ICP备05000822号 www.haocodes.com