我正在使用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();
}
也许我做错了什么?
提前谢谢!