ASP实现网页打开任何类型文件都提示保存的方法附代码

相信大家平时都有这样的经历:页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览;当客户端机器没有安装Office时,点击链接将弹出保存对话框。总结一下即如果浏览器认识文件类型,就会自动打开;如果不认识,则会提示客户保存。可是有时候我们希望不管什么类型文件,都不要打开,直接让客户端保存。要达到这个要求,对于保存在服务器硬盘上的文件就得利用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 
%>

此法要求保存文件时需同时保存文件名及文件大小!若未指定文件名及大小,如果浏览器认识该文件类型,将会自动打开;如果不认识,才会提示客户保存!

(0)

相关推荐

  • 使用asp下的adodb.stream 下载文件而不是打开

    在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里.而在很多时候我们希望能直接弹出下载提示框让用户下载,我们该怎么办呢?这里有两种方法:  1.设置你的服务器的iis,给doc等后缀名做映射. 2.在向客户端发送时设置其contenttype.  下面详细说明方法2  程序代码:  复制代码 代码如下: <% Response.Buffer = true Response.Clear dim url Dim fso,fl,flsize dim 

  • ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法

    "将页面显示的GridView中的数据,导出到Excel表格中"时遇到这样一个错误: C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致.具体提示如图: 解决办法:这里采用"修改注册表的方法"解决此问题,这并没从根上解决问题: 1.打开注册表编辑器方法:开始 -> 运行 -> 输入regedit -> 确定 2.找到注册表子项HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Exc

  • asp文件如何打开

    运行asp文件 首先我们需要搭配运行环境,运行ASP文件需要的服务器是IIS服务器,所以我们要来安装和配置IIS服务器,其实相比于其他的服务器,IIS简单很多,因为是windows自带的服务器,只要安装必要的组件就行了. 了解过后我们就来安装IIS吧,首先打开控制面板(小编使用的操作系统是windows2003,很多网站都使用它作为默认的服务器,因此小编以此为例),找到添加或删除程序选项(如下图红线标注处所示),然后点击进入. 接着我们就看到添加或删除程序界面,点击添加删除windows组件,然

  • aspx是什么格式 ASPX文件怎么打开

    通常这种网页有一个显著的特诊就是页面URL地址末尾是.aspx结尾的,而不是大家常见到的.html结尾(但也不一定符合这个规律).那么ASPX文件怎么打开呢? 很简单,只要是网页的源文件,都可以使用浏览器打开(IE.chrome.火狐等等几乎所有电脑上可以用来浏览网页的浏览器),由于ASPX是动态文件,因此只能在服务器上才能正常浏览,如果您把ASPX文件直接用鼠标点中然后拖入浏览器窗口,这样只能用于打开查看ASPX文件的代码,而看到源代码显示出来的效果,更不能对其代码进行编辑.如果您需要打开并编

  • 什么是ASP?如何打开ASP文件

    ASP是基于WEB的一种编程技术,可以说是CGI的一种.它可以完成以往CGI程序的所有功能,如计数器.留言簿.公告板.聊天室等等.ASP可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容.而浏览者一点觉察不出来,就像为他专门制作的页面一样.使用各种各样的组件,ASP可以完成无比强大的功能.使用FileSystemObject,可以对服务器上的文件进行操作,浏览.复制.移动.删除等.有ADO(Active Database Object,动态数据库对象)的支持,ASP对数据库

  • 用ASP打开远端MDB文件的方法

    如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误信息: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is 

  • asp是什么格式 asp文件用什么打开

    什么是ASP,它能干什么? 一.什么是ASP? 从字面上说,ASP包含三方面含义: 1.Active:ASP使用了Microsoft的ActiveX技术.ActiveX(COM)技术是现在Microsoft软件的重要基础.它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作.ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件.只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速.简易地建立自己的WEB应用. 2.Server:ASP运行在服务器端.这样就不必担

  • ASP实现网页打开任何类型文件都提示保存的方法附代码

    相信大家平时都有这样的经历:页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览:当客户端机器没有安装Office时,点击链接将弹出保存对话框.总结一下即如果浏览器认识文件类型,就会自动打开:如果不认识,则会提示客户保存.可是有时候我们希望不管什么类型文件,都不要打开,直接让客户端保存.要达到这个要求,对于保存在服务器硬盘上的文件就得利用ASPUpload组件的SendBinary方法来实现,而对于保存在数据库中的文件则只须打开记录集,然后

  • python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法

    如下所示: dir_in = os.path.join(os.path.dirname(__file__), r"oldApp")     dir_in = unicode(dir_in, r"GBK")     dir_out = os.path.join(os.path.dirname(__file__), r"newApp")     dir_out = unicode(dir_out, r"GBK")     redi

  • Java追加文件内容的三种方法实例代码

    整理文档,搜刮出一个Java追加文件内容的三种方法的代码,稍微整理精简一下做下分享. import Java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.RandomAccessFile;

  • 文件夹runauto..的删除方法 附批处理专杀工具

    今天发现一个runauto..文件夹,双击不能打开,实际上他的文件夹的名称是这样的如果有一个点例:jb51. 则他的文件夹名位jb51..\  删除方法rd /s/q jb51..\    jb51.. 则他的文件夹名 jb51...\ 删除方法rd /s/q jb51...\即可删除 好了,以下对这个文件进行分析: 其实该文件夹是由dos创建的,全名应该为runauto...说到这里你应该知道为什么不能删了吧. 这样删的方法好易了:(以 D 盘为例) 开始--运行--输入"cmd"-

  • Java上传文件进度条的实现方法(附demo源码下载)

    本文实例讲述了Java上传文件进度条的实现方法.分享给大家供大家参考,具体如下: 东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还说什么呢? 这里给出代码: package lc.progress; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import lc.

  • aspupload文件重命名及上传进度条的解决方法附代码第1/2页

    发现还没有aspupload这个组件的,这两样功能的解决方案,现把我的改进方案写在这里!谢谢  关于aspupload上传组件,文件重命名,进度条的问题解决方案!  共用到4个文件,分别是1.asp,2.asp,bar.asp,framebar.asp  运行第一个文件:1.asp,执行上传操作!  复制代码 代码如下: <% '''进度条 dim SPid,PID,barref Set UploadProgress = Server.CreateObject("Persits.Uploa

  • IntelliJ IDEA中打开拼写检查与忽略提示曲线的方法

    他可以让你的代码看起来很规范. Spellchecker inspection helps locate typos and misspelling in your code, comments and literals, and fix them in one click. 拼写检查器检查有助于定位错别字和拼写错误的代码,注释和文字,并把它们固定在一个点击. 重点就是规范,不至于看着很水,到处都是警告.因为拼写错误可能是因为你的单词真的写错了,丢人吧.或者就是没有驼峰发命名 总之这么个样式的代

  • C#和asp.net中链接数据库中参数的几种传递方法实例代码

    复制代码 代码如下: #region 参数传递方法第一种     //参数设置方法(第一种) //SqlParameter sp = new SqlParameter("@Name", str_Name); //SqlParameter sp2 = new SqlParameter("@Pwd", str_Pwd); //cmd.Parameters.Add(sp); //cmd.Parameters.Add(sp2); #endregion //简单的一般使用第一

  • asp实现的可以提醒生日的几种方法附代码

    asp生日自动提醒小程式 用ASP编写,调试通过,使用方便-asp birthday automatically remind small programs with the preparation of ASP, debug, easy to use方法一: 最初写的一个用于班级网站的最近一个月同学生日的提醒小程序.虽然不怎么样,而且很乱,但是最起码是自己动脑筋去想的,所以我比较看重.ASP程序虽然有好多可以借鉴人家的.但是我想更多时候,我们应该在经典上有所突出,有所创新那不至于默守陈规而无永

  • apache正常访问mht类型文件的配置方法

    一.mht文件简介 MHTML文件又称为聚合HTML文档.Web档案或单一文件网页.单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中.这种封装使您可将整个网站发布为单个内嵌MIME (MIME:通过 Internet 连接传递多媒体资源的一列标准.MIME类型通知程序对象所包含的内容(如图形.声音或视频)的聚合HTML文档(MHTML)文件,或将整个网站作为一个电子邮件或附件发送.Internet Explorer 4.0及更高版本支持此格式. 二.apache支持mht文件的

随机推荐