因胸联盟 发表于 2015-1-16 23:09:11

ASP网页编程之怎样显现数据库中以 OLE 工具体例存储的...

ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。工具|数据|数据库|显现在ASP中,我们常常必要在Web页面上显现以二进制体例保留在数据库中的图片。一样平常的图片显现没有甚么成绩,由于这方面的文章已良多了,我就不再论述。但偶然候数据库中的图片是经由过程其他办公软件输出的,大概经由过程其他体例,好比在Access中间接增加。这时候,图片以OLE工具的体例保留在数据库中,在图片实在内容的后面,还保留了一些其他的信息,好比图片的路径和文件名,等等。假如我们还用一样平常的输入体例的话,就会堕落,招致图片不克不及显现。

幸亏jpeg,bmp等图像格局中在图片内容的开首都有一个SOImarker,这个marker关于jpeg来讲是FFD8,而关于bmp是424D.如许一来,我们只需找到这个marker的地位,就能够疏忽后面的内容而间接从这里入手下手输入图片。以SQLserver为例,代码以下:

<%
-------------------------------------------------------------------------------------
函数:functionShowJpegField(field)
inelm(Archimond【阿克蒙德】)fromcsdn
Date:2003-12-6更新
功效:获得保留jpeg图片的字节数组中的SOImarker入手下手地位,并从该地位输入真实的图片信息
注:jpeg格局的SOImarker:FFD8
bmp格局:424D
参数:图片字段
前往值:无
挪用典范:ShowJpegField(rs("picture1"))
注重:挪用此函数之前,必要先声名response.write的MIME范例为"image/jpeg"
-------------------------------------------------------------------------------------
functionShowJpegField(field)
dimsize,i,j
要输入字段的总字节数
size=field.ActualSize

轮回找到SOImarker的地位
fori=1tosize
ifAscB(MidB(field,i,1))=&HFFandAscB(MidB(field,i+1,1))=&HD8then
exitfor
endif
next

疏忽后面的无用信息,从SOImarker入手下手输入真实的图片信息
forj=itosize
response.BinaryWriteMidB(field,j,1)
next
endfunction
%>

<%
--------主程序入手下手------------------------------
dimconn
setconn=Server.CreateObject("ADODB.Connection")
conn.open("Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=123;DataSource=MARK")

sql="select*fromxinxi_mishuchu"
setrs=conn.execute(sql)

声明输入范例,清空输入缓冲区
response.buffer=true
response.clear
response.ContentType="image/jpeg"

挪用函数输入图片
ShowJpegField(rs("picture1"))

打完收功!
rs.close:setrs=nothing
conn.close:setconn=nothing
%>

假如是其他格局的图片,如bmp,gif等,输入办法相似,只不外是SOImarker分歧罢了。

因为作者程度无限,毛病的地方在所不免,接待人人品评斧正。
</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。

深爱那片海 发表于 2015-1-20 07:39:45

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

小魔女 发表于 2015-1-28 23:53:25

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

若相依 发表于 2015-2-5 23:01:25

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

小女巫 发表于 2015-2-14 02:14:36

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

飘灵儿 发表于 2015-3-4 04:04:55

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

再现理想 发表于 2015-3-11 16:16:02

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

只想知道 发表于 2015-3-27 03:23:42

不能只是将它停留在纸上谈兵的程度上。
页: [1]
查看完整版本: ASP网页编程之怎样显现数据库中以 OLE 工具体例存储的...