|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在用ASP编程中,很多时侯要用到图象。对于单纯从数据库中处理一个图象,方式大家讲了很多,也不难, 可以看下面的代码: 这里假设你有个数据库名字叫:PUBS,在数据库中有一个叫:PUB_INFO的表,在表中有一个LOGO 的BLOB列。我们查出PUB_ID=0736的人的相片。 FILE: SHOWIMG.ASP *************************************** <%@ LANGUAGE="VBSCRIPT" %> <% \\\' Clear out the existing HTTP header information Response.Expires = 0 Response.Buffer = TRUE Response.Clear \\\' Change the HTTP header to reflect that an image is being passed. Response.ContentType = "image/gif" Set cn = Server.CreateObject("ADODB.Connection") \\\' The following open line assumes you have set up a System DataSource \\\' by the name of myDSN. cn.Open "DSN=myDSN;UID=sa;PWD=;DATABASE=pubs" Set rs = cn.Execute("SELECT logo FROM pub_info WHERE pub_id=\\\'0736\\\'") Response.BinaryWrite rs("logo") Response.End %> ***************************************** 执行这个ASP文件就可以看到你存在数据库中的图象了。 但假如是同时处理文字和图象就会有些困难了:-( 比如:一个企业的人员治理,后台数据库可以用SYBASE或SQL SERVER等。(我在这用SQL SERVER)当 你在企业内部需要用到BROWSE/SERVER方法,即用浏览器查看员工的个人信息时,就即要处理文字信息同时还要用到关于图象的技巧。 问题在于你显示文字信息时HTML的HEAD中的CONTENT=“TEXT/HTML”,而显示图象则必须是 CONTENT=“IMAGE/GIF”或者是CONTENT=”IMAGE/JPEG“。因此你是无法只用一个ASP文件就把文字信息和图象都处理完的,解决的办法是:用一个单独的ASP文件处理图象,然后在处理文字信息的ASP文件中调用这个ASP文件。 在这给大家介绍一个我的解决方式,希望大家一起讨论: 环境:WINNT4.0 SQL SERVER IIS3.0 数据库名:RSDA 表名:RSDA_TABLE 目的:从RSDA_TABLE中查出ID=00001的人员的信息,包括姓名,年龄和照片 第一步:创建一个查询表单RSDA.HTM: ********************************** <html> <head> </head> <body> <form method="POST" action="SEARCH.ASP"> <p>请输入编号:<input type="text" name="T1" size="20"> <input type="submit" value="提交" name="B1"> <input type="reset" value="复原" name="B2"> </p> </form> </body> </html> *********************************** 第二步:建立SEARCH.ASP *********************************** <html> <head> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <title>查询结果</title> </head> <body bgColor=Azure> <% session("RSDA_ID")=Request.Form("T1") \\\'这里我用了一个SESSION变量,是为了在处理图象的ASP文件中再次调用temp_id=session("RSDA_ID") <font size=4 color=OrangeRed> 查询结果:</font> <%set conntemp=server.createobject("adodb.connection") conntemp.open "dsn=RSDA;uid=sa;pwd=SA" set rstemp=conntemp.execute("select * from RSDA_TABLE where rsda=\\\'"&temp_id&"\\\'") %> <% \\\'put headings on the table of field names nobody="对不起!在我们的数据库里没有您要找的资料!"%> \\\'判定是否有这个人 <%if rstemp.eof then %> <font size="5" color=OrangeRed> <%Response.Write(nobody)%></font> <%else%> <div align="center"> <center> <table border="1" width="73%" height="399"> <tr> <td width="21%" height="49" align="center"><p align="center">姓 名</td> <td width="30%" height="49" align="center"> <font size=4 color=OrangeRed><%=rstemp(0)%></font></td> </td> <tr> <td width="21%" height="47"><p align="center">年 龄</td> <td width="30%" height="47" align="center"> <font size=4 color=OrangeRed><%=rstemp(0)%></font></td> </tr> <tr> <td width="49%" height="146" rowspan="3" colspan="2"> <img src="jpg.asp"></td> \\\'JPG.ASP就是我们将要建立的专门处理图象的ASP文件 </tr> </table> </center></div> rstemp.close set rstemp=nothing conntemp.close set conntemp=nothing %> </BODY> </HTML> *********************************** 第三步:建立处理图象的ASP文件。(JPG.ASP) *********************************** <% Response.Expires = 0 Response.Buffer = TRUE Response.Clear \\\' Open database Set conntemp = Server.CreateObject("ADODB.Connection") conntemp.open "dsn=RSDA;uid=sa;pwd=SA" \\\'change http header Response.ContentType = "image/jpeg" \\\' or "IMAGE/GIF" \\\' Get picture TEMP_ID=session("RSDA_ID") Set Rs = conntemp.Execute("SELECT photo from RSDA_table where ID=\\\'"&TEMP_ID&"\\\'") Response.BinaryWrite Rs("photo") Session.Abandon Response.End %> ********************************** 这里主要就是用到了一个小技巧就是利用了一个SESSION变量来实现两次同条件查询。 大家如我上述只需少量改动,就可以实现一个页面既有文字又有图象了! 返回类别: 教程 上一教程: ASP+ACCESS的安全隐患及对策 下一教程: ASP程序性能测试报告(六) 您可以阅读与"关于ASP图象问题的总结"相关的教程: · ASP中关于SESSION的一些问题 · 多级选择问题的ASP实现 · 对数据库连接问题的一点总结 · 关于如何利用COM+,来提高ASP执行权限的问题 · 关于在ASP中使用INCLUDE的一些问题 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |