android批量图片上传到后台,Android 上传图片到后台的一直方式Base64的String形式

Android上传图片到后台的方式有很多种,数据传输追根究底都是IO流,都是byte的字节流。

工作实例:将Android本地的用户头像上传给后台

Person{

private String name;

private String gender;

private String phone;

private String headIco; // 头像图片

}

之前我以为将  读出来的文件byte流用UTF-8编码成字符串就可以上传了, 和后台联调的结果是  后台的哥们解码处理是打不开。是空白;

后来发现这样是不行的  。

原因: 假如我读到的是0x001或者0x002 他们在UTF-8中假如都没有对应的字符,那么UTF-8就用一个未知字符代替他们,那么后台的哥们是一个未知字符,所以他就不知道我上传的是0x01还是0x02了!这样数据就对不上了。

解决方法:用base64编码就可以解决了。

base64的原理是通过一系列的算法将字节流编码为{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T',

byte[] data = new byte[file.available()];

file.read(data);

strData = Base64.encodeToString(data, Base64.NO_WRAP);

file.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值