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-12-13
  • 新编《思维学》续五;《情绪论》 2018-12-13
  • 明年起全面供应国六标准汽柴油 2018-12-12
  • 有神论跟无神论的差别在哪你都不知道,还要扯啥呢。 2018-12-12
  • 互联网与金融 回归·绿色·共享 2018-12-12
  • 中国保险监督管理委员会原主席项俊波受贿案一审开庭 2018-12-10
  • 紫光阁中共中央国家机关工作委员会 2018-12-10
  • 广州市食药监局:端午粽抽检全部合格 2018-12-10
  • 中国足球与中国股市谁最牛?请投下你神圣一票 2018-12-10
  • “碎尸案别墅”拍出后 拖欠的物业费谁付? 2018-12-09
  • 保温杯,嘴边的健康隐患 2018-12-09
  • 马来西亚总理马哈蒂尔 我要去中国看一看,感受无现金社会 2018-12-08
  • 这泼猴总给人萌萌达的感觉 2018-12-08
  • 我们的国际主义义务就是让那受苦受难的中东人去欧洲过上幸福,美好的生活。到中国来,又不自由,又不民主,茶叶蛋都吃不上,来干嘛泥? 2018-12-07
  • 一江清水何以来?(人民眼·生态补偿) 2018-12-07
  • 530| 425| 370| 121| 456| 383| 104| 143| 741| 589|