VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
  • asp.net教程之ASP实现网页打开任何类型文件都保存

  • 2017-06-11 20:18 来源:未知
 当页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览;当客户端机器没有安装Office时,点击链接将弹出保存对话框。总结一下即如果浏览器认识文件类型,就会自动打开;如果不认识,则会提示客户保存??墒怯惺焙蛭颐窍M还苁裁蠢嘈臀募?,都不要打开,直接让客户端保存。要达到这个要求,对于保存在服务器硬盘上的文件就得利用ASPUpload组件的SendBinary方法来实现,而对于保存在数据库中的文件则只须打开记录集,然后将二进制数据直接输出到客户端即可,不过要告诉浏览器文件的MIME类型、文件名称和文件大小。

  1.服务器端硬盘上的文件

以下是引用片段:
<% 
Dim Upload,FilePath 
Set Upload = Server.CreateObject("Persits.Upload") 
FilePath = Server.MapPath(".") & "\" & "2003529213019.txt" 
'SendBinary参数说明: 
'参数一:文件物理路径 
'参数二:是否将文件的MIME类型等信息传送给浏览器 
'参数三:文件类型,可以指定具体的MIME类型,但一般都可以使用application/octet-binary 
'参数四:让客户端保存文件还是直接打开。True:保存;False(默认):打开 
Upload.SendBinary FilePath,True,"application/octet-binary",True 
%> 



  2.服务器端数据库中的文件

<% 
Dim objConn,objRs 
Set objConn = Server.CreateObject("ADODB.Connection") 
Set objRs = Server.CreateObject("ADODB.RecordSet") 
objConn.open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db1.mdb") 
objRs.open "select * from t5 where id=2",objConn,1,3 
Response.ContentType = "application/octet-stream" 
Response.AddHeader "Content-Disposition","attachment;filename=" & objRs("filename") 
Response.AddHeader "Content-Length",CStr(objRs("size")) '此处必须用CStr转换 
Response.BinaryWrite objRs("file") 
objRs.close 
Set objRs = nothing 
objConn.close 
Set objConn = nothing 
%> 

  此法要求保存文件时需同时保存文件名及文件大小!若未指定文件名及大小,如果浏览器认识该文件类型,将会自动打开;如果不认识,才会提示客户保存!
相关教程
  • 灯光焰火艺术表演在青岛举行 2019-04-25
  • 刘鹏:抓住“特色”的同时也要看淡“特色” 2019-04-25
  • 图解:中国经济已现一大积极信号,你知道了吗? 2019-04-25
  • 坚守岗位守护绿城美丽与整洁 2019-04-24
  • 个税法迎第七次大修 起征点调至每年6万元 2019-04-24
  • 传Switch即将支持媒体应用 看电影听音乐不是梦传Switch即将支持媒体应用-行情资讯 2019-04-24
  • [大笑]山不在高,有仙则名,水不在深,有龙则灵,文不在多,逻辑通透则行! 2019-04-24
  • 高一年级组“经典永流传”诵读比赛精彩回顾—wydzx.blog的博客—强国博客—人民网 2019-04-23
  • 红薯-热门标签-华商生活 2019-04-23
  • 这是全国精气最为集中的地方 被称为中国丹田所在 ——凤凰网房产 2019-04-23
  • 2018高考今日鸣锣 分享作家们的高考故事:莫言曾说它"很坏" 2019-04-22
  • 南方都市报:中考结束遇上父亲节,考场外这一幕瞬间萌翻你,心都化了! 2019-04-22
  • 马克思主义通过指导无产阶级革命建立起部分社会财富公有制而改变了人类历史发展进程,离开部分社会财富公有制的建立来谈“改变人类历史发展进程”纯粹是无稽之谈。 2019-04-22
  • 北京高能时代环境技术股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-04-21
  • 6000元的借款,仅仅过了半年,就利滚利,垒高到超过百万元,需要借款人卖房抵债——万恶的驴打滚真是望尘莫及了[YY] 2019-04-21
  • 873| 698| 346| 843| 866| 934| 448| 698| 534| 308|