使用jsf保存base64编码的图像

时间:2014-06-12 09:41:37

标签: java javascript jsf cordova base64

我正在使用cordova / phonegap用设备(目前是iphone)捕获图像,捕获工作正常,我在回调中将base64编码的图像作为字符串获取:

    function handlePhotoSuccess(image){
        document.getElementById("uploadItemForm:picture").src = "data:image/jpeg;base64," + image;
        document.getElementById("uploadItemForm:imageBase64").value = image;
    }

imageBase64元素是一个隐藏的h:inputText。

图像显示正确,但bean中保存的值不正确。它的图像是30%,另一部分是灰色的。

支持bean中的值是一个String,我将其转换为字节数组,然后保存它:

    byte[] imageByte;
    BASE64Decoder decoder = new BASE64Decoder();
    try {
        imageByte = decoder.decodeBuffer(imageString);
        ByteArrayInputStream is = new ByteArrayInputStream(imageByte);
        temp.setContent(is); //temp will be saved to database

        images.put(currentAttribute.getId(), imageByte);

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

也许我做错了什么?

提前谢谢!

0 个答案:

没有答案