选择显示字体大小

asp中巧用response属性

我在用asp为某单位制作网页时遇到这样一个问题,单位以前的mis系统中将一些word文件以字节流的形式保存在数据库中,现在用户要求我用asp将这些word文件数据从数据库中取出并在网页中显示出来。开始我自然地想到在服务器上创建临时文件、然后在网页中增加一个指向这个临时文件的链接,但这个方法将大大增加服务器的负担不说,而且在服务上如何保证特定客户端所使用的临时文件不被其它客户端使用的文件覆盖,如何在文件传送给用户后将文件删除,这些问题在实际都难很好解决。那么有没有更好的办法呢? 
---- 为此我仔细查看了一下asp的参考书,发现response对象有一个叫contenttype的属性,它定义服务器发送给客户端内容的mime类型。mime全称multipurpose inte.net mail extensions,即多功能inte.net邮件扩展。我们知道,在网页编程中我们有时将超链接指向一个word或excel文件,当用户点击这个链接时浏览器会自动调用对应方法将这个文件打开。之所以能做到这点就是因为用户机器上安装office后会在浏览器中注册对应的mime资源类型。比如说word文件的mime类型是application/msword(前者是mime类型,后者是mime子类),excel文件的mime资源类型是application/msexcel。事实上,凡是浏览器能处理的所有资源都有对应的mime资源类型,比如说html文件的mime类型是text/html,jpg文件的mime类型是image/jpg。在与服务器的交互中,浏览器就是根据所接受数据的mime类型来判断要进行什么样的处理,对html、jpg等文件浏览器直接将其打开,对word、excel等浏览器自身不能打开的文件则调用相应方法打开。对没有标记mime类型的文件,浏览器则根据其扩展名和文件内容猜测其类型。如果浏览器无法猜出 
,则将它作为application/octet-stream。要了解各种文件的mime类型,请在win98 我的电脑->查看->文件夹选项->文件类型 中查看。 
---- 于是我灵机一动,想到在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发送出去,不要用变量 
’接收这个数据,否则系统会报错 
% >


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons