当前位置:编程学习 > wap >>

bitmap 上传数据库后 获取下来无法转成bitmap

星期天搞了一天了。。悲催

调用相机拍照后

public static Bitmap stringtoBitmap(String string){
//将字符串转换成Bitmap类型
Bitmap bitmap=null;
try {
byte[]bitmapArray;
bitmapArray=Base64.decode(string, Base64.DEFAULT);
bitmap=BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
} catch (Exception e) {
e.printStackTrace();
}

return bitmap;
}


public static String bitmaptoString(Bitmap bitmap){

//将Bitmap转换成字符串
String string=null;
ByteArrayOutputStream bStream=new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG,100,bStream);
byte[]bytes=bStream.toByteArray();
string=Base64.encodeToString(bytes,Base64.DEFAULT);
return string;
}


通过这个将bitmap转换成字符串上传至数据库,数据库里是 text格式。
然后再将获取下来的字符串转换成bitmap 贴在ImageView 显示。

通过webserver 调用json上传的。。

然后发现上传的字符串长度 跟 获取下来的字符串长度不等。。。

测试了下。。上传时 字符串长度有10W。 然后再数据库中的字段中复制出来 一算只有5W多。。。足足少了一半。。。text不该连10w也放不下啊。。不知道是哪边出了问题。。


求各位前辈帮忙啊。。
bitmap json 数据库 上传下载 base64 --------------------编程问答-------------------- 存储格式的问题 --------------------编程问答--------------------
引用 1 楼 wenwei19861106 的回复:
存储格式的问题



哪个地方的问题啊? 该怎么解决呢。。。。。 --------------------编程问答-------------------- 转成2机制试试~~~ --------------------编程问答-------------------- 二进制试试 --------------------编程问答--------------------
引用 4 楼 wu520615 的回复:
二进制试试


 ByteArrayOutputStream bStream=new ByteArrayOutputStream();
        bitmap.compress(CompressFormat.PNG,100,bStream);
        byte[]bytes=bStream.toByteArray();
        return bytes;

但是 又必须使用json 。。json是文本的啊。 一经过json。。 二进制就被换成了字符串。。 --------------------编程问答-------------------- 你用 Base64 把图像转成文本,然后发进去,
取出来,用 Base64 还原,
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,