在开发过程中经常会用到图片上传场景,如果是在HTML中我们上传图片可以通过提交表单的形式上传图片,但是如果要在Android实现图片上传,我们可以通过提交表单的形式提交表单,但是还有一种就是把我们的图片转换成Base64编码,把图片编码通过请求参数的形式上传到服务,服务端在通过解码的形式得打图片。
public static String bitmapToBase64NONseal(Bitmap bitmap) {
//转换结束以后的Base64编码
String result = null;
//读取bitmap以后通过字节数组来盛装
ByteArrayOutputStream baos = null;
try {
if (bitmap != null) {
baos = new ByteArrayOutputStream();
//通过Bitmap的方法把Bitmap数据放到字节数组当中,用于之后的转换使用
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
baos.flush();
baos.close();
//把字节数组转换
byte[] bitmapBytes = baos.toByteArray();
//进行编码转换
result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.flush();
baos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}