AJAX能否读取数据库中的图片然后显示出来?谁能提供相应的servlet和页面,如果分不够跟我说!我不会吝惜分的。

解决方案 »

  1.   

    文档类型不一样,不可能把字节码内容和文本内容放在一起吧
    image类型还是要用servlet/jsp读出来,设置文件输出类型
      

  2.   

    只知道ajax从后台读出来的结果集有responseText、responseXML,没听说读出图片的,望高人出现
      

  3.   

    文档类型就不一样,有responseBody,但是有什么用?
      

  4.   

    在jsp里
    <img src="getImage?id=xxx"/>在getImage 对应的servlet里byte[] buf = 假设你已经获取了byte数组
    res.setContentType("image/jpeg");
    out = res.getOutputStream();out.write(buf, 0, buf.length); 
    out.close();
      

  5.   

    我之前也认为不行,但看了楼上的,突然产生了一个想法,就是利用ajax ,把
    <form name="f1" action="XX" method="XX">
    <img src="getImage?id=xxx"/>
    <!--src是提交给一个servlet的让这个servlet来处理图片的输出,像楼上那样-->
    </form>
    添加到页面
      

  6.   

    图片肯定是用servlet输出来的,至于怎么样去调用那就是你那边的事了,就简单得很了。
      

  7.   

    这样肯定是没有问题的了
    我项目中就是这样处理的
    不需要ajax也可以实现
      

  8.   

    页面不刷新图片就是写不出来。
    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title></title>
    <script language="javascript">
    var XMLHttpReq = false;   
        function createXMLHttpRequest() {
    if(window.XMLHttpRequest) {
    XMLHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
    try {
    XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    }
    function sendRequest(url) {
    createXMLHttpRequest();
    XMLHttpReq.open("GET", url, true);
    XMLHttpReq.onreadystatechange = processResponse; XMLHttpReq.send(null);   }
        function processResponse() {
         if (XMLHttpReq.readyState == 4) { 
             if (XMLHttpReq.status == 200) { 
                 var res=XMLHttpReq.responseXML.getElementsByTagName("pic")[0].firstChild.data;
                      var p=document.getElementById("pic");
                      var pic=document.createElement("img");
                      p.appendChild(pic);
                      p.src="picread?id="+res;          
                } else { 
                    window.alert("");
                }
            }
        }
        function picload() {
    sendRequest("pic");
    }
    </script>
    </head>
    <body>
    <span id="pic">
    </span>
    <input type="button" onclick="picload();">
    <img src="picread?id=40288b0e149658900114965893770001">
    </body>
    </html>下面用servlet直接显示就没有问题。用ajax就不行。看样页面不刷新就是不行。
      

  9.   

    图片的url请求本来就是异步的,所以没有必要用ajax来做。
    只用ajax把url请求的参数得到就行了,再直接用javascript把图片的url参数改掉即可。
    记得servlet生成的图片要记浏览器不得缓存,不然不会看到更新的效果。