Android开发经验谈Android开发Android开发宝典

【Android】Base64字符串转图片后保存到相册

2018-08-16  本文已影响76人  FynnJason

前言

公司最近有一个需求,是在加载的webview中,点击保存按钮,将url中的图片保存到本地(为了用户体验,我已改成保存到相册中),因为web端展示的图片是base64字符串,所以我也需要将base64进行解码,好了,直接进入正题。

这里单独说一下:我们公司的web端将url进行了URLencode,所以我也需要先将base64进行URLdecode,但这不是我们关心的,我们还是来看看如何将base64转图片保存到相册吧!

base64图片字符串

这是我们的图片

image

base64字符串都是如下格式:

data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2QzI1N0VGNUJDQTExRTc5MDRCODMxM0QzRjQ3RjlGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2QzI1N0YwNUJDQTExRTc5MDRCODMxM0QzRjQ3RjlGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTZDMjU3RUQ1QkNBMTFFNzkwNEI4MzEzRDNGNDdGOUYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTZDMjU3RUU1QkNBMTFFNzkwNEI4MzEzRDNGNDdGOUYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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

在android中,base64转图片需要取消前缀,这是重中之重!!!
在android中,base64转图片需要取消前缀,这是重中之重!!!
在android中,base64转图片需要取消前缀,这是重中之重!!!

这就是base64的前缀↓↓↓,大家可要看清楚,最后一个是“,”号

data:image/jpeg;base64,

接下来直接上代码:

private boolean savePicture(String base64DataStr) {
        // 1.去掉base64中的前缀
        String base64Str = base64DataStr.substring(base64DataStr.indexOf(",") + 1, base64DataStr.length());
        // 获取手机相册的路径地址
        String galleryPath= Environment.getExternalStorageDirectory()
                + File.separator + Environment.DIRECTORY_DCIM
                +File.separator+"Camera"+File.separator;
        //创建文件来保存,第二个参数是文件名称,可以根据自己来命名
        File file = new File(galleryPath, System.currentTimeMillis() + ".png");
        String fileName = file.toString();
        // 3. 解析保存图片
        byte[] data = Base64.decode(base64Str, Base64.DEFAULT);

        for (int i = 0; i < data.length; i++) {
            if (data[i] < 0) {
                data[i] += 256;
            }
        }
        OutputStream os = null;
        try {
            os = new FileOutputStream(fileName);
            os.write(data);
            os.flush();
            os.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            //通知相册更新
            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            Uri uri = Uri.fromFile(file);
            intent.setData(uri);
            mContext.sendBroadcast(intent);
        
            ToastUtils.show(mContext, "图片已保存在相册中");
        }
    }

以上就是base64转图片的总结,有问题的朋友可以评论咨询。

上一篇 下一篇

猜你喜欢

热点阅读