阅读新闻

ASP实现文件直接下载

[日期:2006-04-27] 来源:  作者: [字体: ]
在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


阅读:
录入:小伟

评论 】 【 推荐 】 【 打印
上一篇:一个asp和&#106avascript传参数的列子
下一篇:彩色校验码的制作
本文评论
  怎么用啊   (枯 ,今 09:09 )
  不错不错 http://www.haocodes.com   (admin ,03月23日 )
  fff   (ff ,03月17日 )
  dfyh   (fdg ,03月03日 )
  test   (ttt ,01月22日 )
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
新闻查询