愤怒的大鸟 发表于 2015-2-3 23:39:50

ASP编程:在ASP中巧用Response存取文件

ASP脚本是采用明文(plain text)方式来编写的。response      我在用ASP为某单元制造网页时碰到如许一个成绩,单元之前的MIS体系中将一些Word文件以字撙节的模式保留在数据库中,如今用户请求我用ASP将这些Word文件数据从数据库中掏出并在网页中显示出来。入手下手我天然地想到在办事器上创立一时文件、然后在网页中增添一个指向这个一时文件的链接,但这个办法将大大增添办事器的承当不说,并且在办事上若何包管特定客户端所利用的一时文件不被其它客户端利用的文件掩盖,若何在文件传送给用户后将文件删除,这些成绩在实践都难很好处理。那末有无更好的举措呢?   为此我细心检查了一下ASP的参考书,发明Response对象有一个叫contenttype的属性,它界说办事器发送给客户端内容的MIME类型。MIME全称Multipurpose Internet Mail Extensions,即多功效Internet邮件扩大。咱们晓得,在网页编程中咱们有时将超链接指向一个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,不然会将其作为一个不克不及辨认的资本,提醒用户保留起来,而不是翻开它)将它翻开。经实验后果很好,办法复杂且速度很快,并且在IE5中阅读器利用内嵌体例(相似于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发送出去,不要用变量
'吸收这个数据,不然体系会报错
% >
  用相似的办法,还可以处置Excel、Bmp等很多类型的数据。此法式在以下体系中测试经由过程:办事器:NT + IIS + SqlServer客户端:Win98 + IE5 或 Netscape4.x
</p>缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全

金色的骷髅 发表于 2015-2-4 05:03:59

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

若天明 发表于 2015-2-5 21:34:14

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

莫相离 发表于 2015-2-13 14:05:04

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

admin 发表于 2015-2-19 05:00:59

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

分手快乐 发表于 2015-2-20 13:55:17

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

小妖女 发表于 2015-3-6 17:27:36

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习

小女巫 发表于 2015-3-13 04:38:37

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

小魔女 发表于 2015-3-14 14:38:18

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

山那边是海 发表于 2015-3-21 09:48:51

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

因胸联盟 发表于 2015-3-27 10:07:48

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

第二个灵魂 发表于 2015-4-10 00:52:05

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

冷月葬花魂 发表于 2015-4-12 23:47:20

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

深爱那片海 发表于 2015-4-24 12:07:51

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

老尸 发表于 2015-4-27 14:26:40

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

飘飘悠悠 发表于 2015-4-29 16:55:14

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

愤怒的大鸟 发表于 2015-7-3 00:39:40

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

仓酷云 发表于 2015-7-7 17:38:12

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

再见西城 发表于 2015-7-7 22:45:42

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

兰色精灵 发表于 2015-7-8 21:06:41

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
页: [1]
查看完整版本: ASP编程:在ASP中巧用Response存取文件