ASP中巧用Response属性


来源:   

ASP中巧用Response属性

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

---- 为此我仔细查看了一下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等文件浏览器直接将其打开,对Word、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发送出去,不要用变量
    '接收这个数据,否则系统会报错
    % > 

编辑:

相关内容

 娱乐专题

more...

高峰私生子

王伯昭被打

傅彪肝癌晚期

赵薇餐馆打人事件

《云南映象》图集

张铁林拖欠中介费

女医生状告赵忠祥

高虎被捕事件

演绎经典美丽

解读《十面埋伏》

揭示明星美丽秘诀

五颜六色娱乐圈

明星纤体大比拼

《绿茶》精彩影评

天地英雄

吕丽萍群星艺术学校被起诉

于娜出道前被包养是真是假?

香港英皇贪污丑闻追踪

多少明星追忆中

2003环球小姐大赛

 

 叨叨专栏

more...

冯小刚,你怎么敢抽"上帝"?

流氓与流氓

娱乐媒体,请站直一点

原来张铁林不是中国人!

《神雕侠侣》的悲惨前途

男人,要硬派不要阴柔

请不要随便脱裤子

李欣,《自娱自乐》的挺滋儿!

不服没用,人家就是红了!

陆毅演戏吧,别唱歌了。

 

 

 
报业集团
- 版权声明 - 广告业务 - 联系方式
Copyright (C) 2001-2002 dzwww.com. All Rights Reserved
大众报业集团网络中心主办
Email:webmaster@mail.dzdaily.com.cn