图像没有从java中的字节数组中显示出来

时间:2014-08-04 11:15:36

标签: java javascript html json image

我有两个疑问:
1.当我试图打印我从java进入客户端的字节数组。我得到了奇怪的价值。我不确定它是字节数组还是像素数据。如果它不是字节数组,那么需要进行哪些校正。代码参考被粘贴在enter image description here下面。 2.目前我正在从数据库中读取图像并在服务器端写入一个字节数组,我将这个字节数组添加到json对象并发送。但是没有显示图像请参阅下面的代码:

//this line will fetch the image data from db and i am storing into byte array
     byte[] imageData = smpResource.getValue();

//i am adding this byte array into json object and sending.
    JSONObject result = new JSONObject();
    result.put("image", imageData);

//Client side code looks like:

var temp = null;
var jqxhr = jQuery.post(
            '$link.getContextPath()/setEmployee.do',
            {
                empID: getSelectedEmpID(), empName: getSelectedEmpName()
            },
            function (data) {
            jQuery.each(data, function(field, value){
                // here in value i will be getting that byte array and i am storing in  the below img src
                if( "image" == field ) {
                    temp = value;
                    // please check the attachments and please confirm whether it was printing byte array or pixel data
                    alert("temp" + temp);
                }
            });

          selectedImage.innerHTML = "<img src='data:image/jpg;base64, temp'/>";
            ,
            "json"
        ).error( function(){
            // if there was an error, select the parent...
            selectedTreeNode.remove();
        });
    }

可能有点复杂让你理解guyz但我尽力了。但是让我知道我会以其他方式尝试。

1 个答案:

答案 0 :(得分:1)

要使用data / base64 url​​在图像中显示,您需要以Base64格式对其进行编码(请参阅http://en.wikipedia.org/wiki/Base64)。您可以修改后端,将图像编写为base64格式(请参阅Java BufferedImage to PNG format Base64 String),作为字符串而不是数组。对于你的JSON来说,它也更加紧凑!