美文网首页高级UI
Android Base64转图片 保存至相册

Android Base64转图片 保存至相册

作者: 小白彡 | 来源:发表于2020-03-11 17:41 被阅读0次

    最近项目中有一个需求,获取服务端的图片Base64码转回图片后保存至相册,这么简单的事还用得着我动手吗,当然是使用ctrl c v大法了,下面看看代码:

    public void savePicture(String courseStr){
            SavePictureBean savePictureBean = new Gson().fromJson(courseStr, SavePictureBean.class);
            String imgPath = savePictureBean.getImgSource();
            Bitmap bitmap = ImageBase64Utils.base64ToBitmap(imgPath);
            boolean b = SaveBitmapUtil.saveImageToGallery(mActivity, bitmap, null);
            if (b) {
                mActivity.toast("保存成功");
            } else {
                mActivity.toast("保存失败");
            }
        }
    

    imgSource就是获取到的Base64串,这也太简单了,马上开始测试一下,
    结果就崩了。。。。。。。。。。
    崩的代码定位到这里:

     /**
         * base64转bitmap
         *
         * @param @param  base64String
         * @param @return 设定文件
         * @return Bitmap    返回类型
         * @throws
         * @Title: base64ToBitmap
         */
        public static Bitmap base64ToBitmap(String base64String) {
            byte[] decode = Base64.decode(base64String, Base64.NO_WRAP);
            Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length);
            return bitmap;
        }
    

    提示Base64码不正确,但我在网页上转是好好的,所以不可能不正确。后来发现传过来的Base64码带了格式,像这样: data:image/jpeg;base64,hshshsbsbshshyzgzgzv......
    ,前面是编码格式,后面是编码 ,而网页上是需要格式的 ,但在手机里就不需要格式, 所以就崩了。。。
    竟然还有这种事,只好自己把前面的格式去掉了:

     public void savePicture(String courseStr){
            SavePictureBean savePictureBean = new Gson().fromJson(courseStr, SavePictureBean.class);
            String imgPath = savePictureBean.getImgSource();
            Bitmap bitmap = ImageBase64Utils.base64ToBitmap(imgPath.substring(imgPath.indexOf(",")+1));
            boolean b = SaveBitmapUtil.saveImageToGallery(mActivity, bitmap, null);
            if (b) {
                mActivity.toast("保存成功");
            } else {
                mActivity.toast("保存失败");
            }
        }
    

    这样就可以了。。
    记录

    相关文章

      网友评论

        本文标题:Android Base64转图片 保存至相册

        本文链接:https://www.haomeiwen.com/subject/gulhjhtx.html