帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
ASP中巧用Response属性
作者:追命(转) 发布时间:2005-03-12 来源:chinaasp
ASP中巧用Response属性

---- 我在用ASP为某单位制作网页时遇到这样一个问题,单位以前的MIS系统中将
一些Word文件以字节流的形式保存在数据库中,现在用户要求我用ASP将这些Wor
d文件数据从数据库中取出并在网页中显示出来。开始我自然地想到在服务器上创
建临时文件、然后在网页中增加一个指向这个临时文件的链接,但这个方法将大
大增加服务器的负担不说,而且在服务上如何保证特定客户端所使用的临时文件
不被其它客户端使用的文件覆盖,如何在文件传送给用户后将文件删除,这些问
题在实际都难很好解决。那么有没有更好的办法呢?

---- 为此我仔细查看了一下ASP的参考书,发现Response对象有一个叫contentt
ype的属性,它定义服务器发送给客户端内容的MIME类型。MIME全称Multipurpos
e Internet Mail Extensions,即多功能Internet邮件扩展。我们知道,在网页
编程中我们有时将超链接指向一个Word或Excel文件,当用户点击这个链接时浏览
器会自动调用对应方法将这个文件打开。之所以能做到这点就是因为用户机器上
安装office后会在浏览器中注册对应的MIME资源类型。比如说word文件的MIME类
型是Application/msword(前者是MIME类型,后者是MIME子类),Excel文件的M
IME资源类型是Application/msexcel。事实上,凡是浏览器能处理的所有资源都
有对应的MIME资源类型,比如说html文件的MIME类型是Text/html,JPG文件的MI
ME类型是Image/JPG。在与服务器的交互中,浏览器就是根据所接受数据的MIME类
型来判断要进行什么样的处理,对html、JPG等文件浏览器直接将其打开,对Wor
d、Excel等浏览器自身不能打开的文件则调用相应方法打开。对没有标记MIME类
型的文件,浏览器则根据其扩展名和文件内容猜测其类型。如果浏览器无法猜出
,则将它作为application/octet-stream。要了解各种文件的MIME类型,请在wi
n98 我的电脑->查看->文件夹选项->文件类型 中查看。

---- 于是我灵机一动,想到在ASP中可以先将WORD数据以字节流方式取出,接着
将其conntenttype属性标记为Application/msword,再将它发送给客户机,客户
机收到这个资源后,根据其MIME类型,会自动调用客户机上的Word(当然,前提
是客户机上装了Word,否则会将其作为一个不能识别的资源,提示用户保存起来
,而不是打开它)将它打开。经试验效果很好,方法简单且速度很快,而且在IE
5中浏览器使用内嵌方式(类似于OLE方式)打开,效果更佳。以下是程序内容。

---- 假设表名tab_word,表中有两个字段,一个是整型,名id,用作Word数据的
唯一标识,另一个Blob型,名worddata,里面存放Word数据。现在要在页面上显
示id等于1的Word文件内容, ASP程序如下:

< %
' conn - 已创建的数据库连接
' rs -- 结果集
rs = conn.execute("select
worddata from tab_word where id = 1")
response.contenttype = "Application/msword"
response.writebinary(rs("worddata"))
'注意将结果集中的数据直接用writebinary发送出去,不要用变量
'接收这个数据,否则系统会报错
% >

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·ASP中查错之实例  (2005-03-12)
 ·在ASP中用“正则表达式对象”来校  (2005-03-12)
 ·在ASP中列出数据库中的表名和字段  (2005-03-12)
 ·在ASP中如何将代码生成的文件设为  (2005-03-12)
 ·ASP中,常用的变量命名规则  (2005-03-12)
 ·ASP中正则表达式的应用(一)  (2005-03-12)
 ·ASP中正则表达式的应用(二)  (2005-03-12)
 ·ASP中页面限权访问的几种方法  (2005-03-12)
 ·在ASP中利用Oracle Object for O  (2005-03-12)
 ·ASP中FSO对象对IIS WEB服务器数据  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统