在JS里面我从服务器接收到的图像数据是二进制的字节数组,现在想把它转换成图片在页面上显示出来,具体该怎么处理?

解决方案 »

  1.   

    是不是你理解错了需求?javascript客户端能做到的很少。你可以看看xbm格式的相关资料,这是javascript在客户端可以操作的但中间可能涉及复杂的转换
      

  2.   

    需求没有理解错,现在就是写一个客户端,去访问服务器,向服务器发送JSON格式的数据,服务器返回二进制格式的图片数据,现在要把接收到的二进制数据转换成图片在页面上显示出来
      

  3.   

    服务器返回的是二进制格式的数据,我用responseBody方法所以得到的是一个字节数组
      

  4.   

    to runer:
    帮忙想想有没有可行的方案!
      

  5.   

    先是用ajax获取表单里面的json格式数据,把获得的数据发送给服务器,服务器返回二进制格式的数据,我用xmlhttp.reponseBody方法得到一个字节数组,关于图片的数据,现在要把字节数组转化成图片在页面上显示出来,不知道该怎么处理?
      

  6.   

    你的服务器不应该给你返回图像的字节数组,而是应该给你返回图像的URL地址
    这样你在客户端浏览器直接就能显示了如果真的给你发过来图像的字节数组,
    如果不用flash或者activex或者applet等类似技术的话,基本无解。
      

  7.   

    现在服务器返回过来的是字节数组是确定的,可以用activeX技术,runer可不可以提供具体的实现方法
      

  8.   

    有必要这样做吗?为什么不直接用 img 标签?数据通过url 传给服务器?
      

  9.   

    你把下面这个放到 HTML 就可以看到效果了:<img src="data:;base64,R0lGODlhHgAeALMAAAAAAPb29omqyuJ1BBx5vllAUO7GXRAMFESu5hRZhRwgdbJQCO7///bu9r3/AAAAACH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgMy4wACH5BAEKAA4ALAAAAAAdAB4AAAT+0MkpARKCpATA7CAlVgSWbRyodiNlYYi2rSHbAsQVo3MVtp/cLvXzeYAOyw5waDaPLmQSEQM0AgUnVOqiEqwBwYHG/VQTjcY4wA40BNtbp1oQt++Y+OeF+x4KAG2BbG8cI0owGkyAbIOEAj1mFwJLTI4dbW+QW4iVHQeNoY+GXQSKn3+iAY6QYzUyHGwCBQmqNCtGmJmhtypAKleNABgJCk9FSESBmsUKHZFIHQrTJpDNw9CHw5DTCjzT28qHbhjTY03ggZsD7Atx4eDsA+6BDHAA7B3uI65MBwYG2tHDl2+BQT0iDgwAKHBBO1xS8AEMKO8hwlwqDhg0KNDGjYoUCyfK20gvorxet7ioIOkQ5ICLEQAAOw==" />“Base64,”后面的那些东西是这个图片二进制数据的 Base64 串。参考数据 URI 模式:http://en.wikipedia.org/wiki/Data_URI_scheme
      

  10.   

    如果服务端给你的是二进制数据的话,JavaScript 是没办法处理二进制数据的。如果你确定二进制是个图片的话,可以直接在 img 的 src 中写 Ajax 请求的 URL,图片也会显示出来的,就像验证码那样。
      

  11.   

    直接由activex来发出这个请求,然后接收到返回的数据并对其中的数据进行处理,activex的灵活度会要大很多了。就是本地应用程序的开发思路了
    另,我觉得你这个需求的解决方法可以考虑重构一下浏览器端并不适合处理大量的数据,即使使用activex的方式也会带来很大的局限
      

  12.   

    xmlhttp.reponseBody(msg){
       var image = document.getElementById("tupin");
       image.src = msg;
    }<img id="tupian" src="" />试一下。
      

  13.   

    XMLHttpRequest
    http://dev.firnow.com/course/1_web/javascript/jsjs/20100721/477337.html