欢迎光临
我们一直在努力

ASP中巧用Response属性

建站超值云服务器,限时71元/月

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发送出去,不要用变量

接收这个数据,否则系统会报错

% >



有空来坐坐!

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP中巧用Response属性
分享到: 更多 (0)