Base64转图片与图片转Base64工具类
没有废话,直接上代码
public class BitmapStringUtils {
/**
* 将bitmap转换成为Base64
* @param bitmap
* @return
*/
public static String bitmaptoString(Bitmap bitmap) {
// 将Bitmap转换成字符串
String string = null;
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 10, bStream);
byte[] bytes = bStream.toByteArray();
string = Base64.encodeToString(bytes, Base64.DEFAULT);
return string;
}
/**
* 将Base64转换成为Bitmap
* @param string
* @return
*/
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;
}
}
使用方法
/*先得到bitmap对象*/
Bitmap headBitmap = data.getParcelableExtra("data");
RequestBody requestBody = new RequestBody(UserInfoActivity.this);
requestBody.setHeadImg(BitmapStringUtils.bitmaptoString(headBitmap));//←就像括号里面这样用
/*上传*/
RequestUtils.createApi().uploadHeadImg(requestBody)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new CommonsSubscriber() {
@Override
protected void onSuccess(Response response) {
Toast.makeText(UserInfoActivity.this, response.getReturnInfo(), Toast.LENGTH_SHORT).show();
getUser();
}
});