上传头像,遇到Base64转换的坑

base64可以用在线转换去测试 http://imgbase64.duoshitong.com/
效果图可看:https://www.jianshu.com/p/0a2d8466fe6d?
剪切效果可看:https://www.jianshu.com/p/0a2d8466fe6d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
参考文献:https://blog.csdn.net/android_wangweida/article/details/77823533
base64在后端请求一般是有前缀的
“data:image/jpeg;base64,”(我的压缩图片是jpeg格式)
mBitmap.compress(Bitmap.CompressFormat.JPEG, 70, baos);
byte[] b = baos.toByteArray();
Log.d(“d”, “压缩后的大小=” + b.length);
String icon64 = Base64.encodeToString(b, Base64.NO_WRAP);
Log.e(“icon64”,icon64);
initByAZ(“data:image/jpeg;base64,”+icon64);

//android 7.0系统解决拍照的问题
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();

我这边自定义了一个弹出布局
参考文献:https://www.jianshu.com/p/26d29e187f89
布局一样的就不重写了

参考文献:https://www.jianshu.com/p/0a2d8466fe6d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation (重点参考)
点击事件做了修改
bt_album.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setType(“image/*”);
startActivityForResult(i, CHOOSE_PICTURE);
popupWindow.dismiss();

        }
    });
    bt_camera.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent openCameraIntent = new Intent(
                    MediaStore.ACTION_IMAGE_CAPTURE);
            tempUri = Uri.fromFile(new File(Environment
                    .getExternalStorageDirectory(), "person_image.jpg"));
            // 将拍照所得的相片保存到SD卡根目录
            openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, tempUri);
            startActivityForResult(openCameraIntent, TAKE_PICTURE);

// takeCamera(TAKE_PICTURE);
popupWindow.dismiss();

        }
    });
    bt_cancle.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            popupWindow.dismiss();

        }
    });

上传到服务器请求和之前写的okhttp请求差不多,就不写了
https://blog.csdn.net/qq_36022808/article/details/89222856

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值