Android Base64转换工具

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();
                                }
                            });

你可能感兴趣的:(Android Base64转换工具)