VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
  • 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 
%> 

  此法要求保存文件时需同时保存文件名及文件大小!若未指定文件名及大小,如果浏览器认识该文件类型,将会自动打开;如果不认识,才会提示客户保存!
相关教程
  • 2018 E3:女主持人展位探访 被吓的花容失色 2019-02-24
  • 5月末商品房库存继续减少 三、四线城市开启库存短缺时代 2019-02-24
  • 中国公民出入境排队将不超半小时 2019-02-24
  • 鹰潭高新区思想解放添发展动力 2019-02-23
  • 践行新发展理念 全面建成小康社会 2019-02-23
  • 端午节期间 全省道路安全畅通形势平稳 2019-02-23
  • 观众对三观不正影视剧不买账 76.7%受访者拒看 2019-02-23
  • 为峰会喝彩 为市民点赞 为青岛自豪 2019-02-22
  • 宜居中国厕所革命论坛举办 成立首个专业厕所革命研究所--旅游频道 2019-02-22
  • 6集电视文献纪录片《风范——老一辈革命家的故事》 2019-02-21
  • 端午节,跟随习近平找寻中华民族“精气神” 2019-02-21
  • 女排一主攻提前出局!进攻曾不输朱婷 今彻底沦为边缘人 2019-02-21
  • 开放的青岛期待“上合之声” 2019-02-20
  • 工商总局将针对“双11”等网络促销出管理规定 2019-02-20
  • 以法之名 捍卫英烈名誉 2019-02-20
  • 480| 962| 883| 397| 305| 753| 470| 640| 277| 224|