android png base64,Android编码PNG到base64字符串产生无效结果

该应用程序将base64解码为PNG,但是当我将文件编码回base64以便发送到服务器时,生成的base64是不同的,并且不会生成图像 .

这是原始base64字符串的开头: /9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAYAAIdp

这是从base64和PNG文件编码后的base64的开始: iVBORw0KGgoAAAANSUhEUgAAD8AAAAvQCAIAAABPl1n3AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO

这是我用来将文件编码为base64的代码:

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = true;

options.inScaled = false;

options.inPreferredConfig = Bitmap.Config.ARGB_8888;

options.inDither = false;

File file = new File(root +"/saved_images/"+note.imageLocation );

if(file.exists()){

// TODO perform some logging or show user feedback

try {

Bitmap myBitmap = BitmapFactory.decodeFile(root +"/saved_images/"+note.imageLocation, options);

ByteArrayOutputStream stream = new ByteArrayOutputStream();

myBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);

byte[] byteArray = stream.toByteArray();

JSONObject object =new JSONObject();

object.put("image_type", "image/png");

object.put("image_data", Base64.encodeToString(byteArray, Base64.DEFAULT));

if (note.serverID == -1) {

toReturn.put(String.valueOf(i), object);

}else{

toReturn.put(String.valueOf(note.serverID), object);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

i--;

}else{

Log.i("File Not Found", "NoteModel - "+file);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值