河南省卫生职业教育集团、卫生职教报主办: 欢迎访问、欢迎投稿
 name:  pass:    remember password
河南省卫生职教网欢迎您,欢迎投稿,欢迎访问
当前位置:首页>>新闻>>学术交流>>试题交流>>正文
河南省卫生职教网是河南省卫生职业教育集团、卫生职教报的官方网站,本网站以发展职教事业、促进卫生职教繁荣为宗旨,竭诚为广大职教工作者、广大职教师生服务。本网站本着资源共享的原则,内容有部分来自网络如涉及侵权问题请联系我们,我们将在知悉后的24小时内删除,谢谢合作,联系QQ:583403996
ASP实现文件直接下载
发布日期:[07-06-22 15:06:02] 点击次数:[] 来源:

在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("

Error:

"&strFilename&"你要下载的文件不存在!

")   
Response.End   
End  If

Set F = Fso.GetFile(strFilename)   
intFilelength = F.Size '获取文件大小
S.LoadFromFile(strFilename)   
If Err Then   
Response.Write("

Error:

Unknown Error!

")   
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

河南省卫生职业教育集团、卫生职教报版权所有 Copyright 2009-2010 www.wsjyjt.com All rights reserved