美文网首页高级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转图片 保存至相册

    最近项目中有一个需求,获取服务端的图片Base64码转回图片后保存至相册,这么简单的事还用得着我动手吗,当然是使用...

  • js-图片转换

    base64转图片file: 图片file转URL: canvas转base64: base64保存为本地图片:

  • 小程序 | 如何把base64格式的图片数据保存至手机相册?

    需求描述:把后端返回的base64格式的图片数据,以图片的方式保存至手机相册。 解决文案:使用小程序官方API(w...

  • 保存图片至相册

    点击按钮,将self.imageView上面的image内容保存到本地相册,并指定判断保存成功与否的方法image...

  • 保存图片至相册

    保存图片至相册功能需要注意,需要将 NSPhotoLibraryAddUsageDescription 授权请求添...

  • Android 图片视频保存至系统相册

    保存图片到系统相册 保存视频到系统相册 以上代码均为FileHelper类方法接下来看IPreviewActivi...

  • 热门手机壁纸

    点击图片保存手机(苹果(Android)壁纸-长按图片-保存图片。保存后,返回相册并将其设置为手机壁纸!因为都是高...

  • iPhone壁纸:豪车壁纸

    点击图片保存手机(苹果(Android)壁纸-长按图片-保存图片。保存后,返回相册并将其设置为手机壁纸!因为都是高...

  • 苹果Android壁纸

    点击图片保存手机(苹果(Android)壁纸-长按图片-保存图片。保存后,返回相册并将其设置为手机壁纸!因为都是高...

  • 高清手机壁纸

    点击图片保存手机(苹果(Android)壁纸-长按图片-保存图片。保存后,返回相册并将其设置为手机壁纸!因为都是高...

网友评论

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

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