http://expert.csdn.net/Expert/topic/876/876147.xml?temp=6.740969E-02

解决方案 »

  1.   

    Andrawu(晓彬)你好,我用的数据库是sql server 2000,如果保存jpg或者gif图片应该用什么数据类型呢?最好能提供源码,谢谢!
      

  2.   

    可以保存二进制数据吧,将图片转换成二进制数据保存,取出后再转换回来,或者保存图片的URL地址,把图片全部上载至服务器上。
      

  3.   

    如何处理ASP中的图象 
         在用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 DataSour
    ce
       ' 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就是我们将要建立的专门处理图象的A
    SP文件
    </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变量来实现两次同条
    件查
    询。
    大家如我上述只需少量改动,就可以实现一个页面既有文字又有图象了! 
      

  4.   

    net_lover(孟子E章):你好!我用的数据库是sql server,里面好象没有blod这种数据类型吧。而且你好象也没说怎样把图片存进数据库。
    是这样的,我要用jsp做一个网站,要求用户可以在上边发布自己的产品,这就包括了产品的图片。我不知道该采用何种方法实现这一功能,希望大家多多指教!
      

  5.   

    用二进制Binaray(好像拼得不对阿?嗬嗬)字段保存。