android本地图片转base64,Android Base64转图片 保存至相册
最近项目中有一个需求,获取服务端的图片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,Android Base64转图片 保存至相册相关推荐
- android 本地数据库持久化框架,android数据库持久化框架, ormlite框架,
前言 Android中内置了SQLite,但是对于数据库操作这块,非常的麻烦.其实可以试用第3方的数据库持久化框架对之进行结构上调整, 摆脱了访问数据库操作的细节,不用再去写复杂的SQL语句.虽然这样 ...
- Unity iOS 获取相册图片, 调用原生相机, 截屏并保存到相册
原文链接 该Demo实现如下功能 1.从相册_照片 获取图片, 并贴在Image上 2.从相册_时刻 获取照片, 并贴在Image上 3.打开原生相机,拍照并把照片贴在Image上 4.截屏并保存到相 ...
- android 本地html传递参数,Android WebView适配html加载本地文件并上传
写在前面 自从做Android APP产品以来,版本更迭一版接着一版,为新的业务需求一步也未曾停歇.工作开始进入一种机械化的快节奏:接触新知识,新技术领域一般都是通过网上找资料,快速入门,遇到问题解决 ...
- android 本地lrc 歌词同步,android 音乐播放器-------歌词同步 lrc
lrc格式 : [al:这首歌所在的唱片集 ] [ar:歌词作者 ] [by:本LRC文件的创建者 ] [offset:+/- 以毫秒为单位整体时间戳调整,+增加,-减小 ] [re:创建此LRC文件 ...
- android本地视频封装uri,android – 从内容uri获取所拍摄视频的文件
我有一个方法如下: private String getRealPathFromUriForVideos(Uri selectedVideoUri) { String wholeID = Docume ...
- android 本地ip获取,【android】 获取本地ip方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public static String getLocalhostIp() { String hostIp = null; try { Enumerati ...
- Android本地存储安全
Android本地存储安全 在Android应用程序中,本地存储是保存用户数据和敏感信息的常见方式.但是,由于这些信息可以被恶意应用程序或攻击者轻易地访问,所以在开发Android应用程序时需要注意本 ...
- android 监测属性值变化,Android 的系统属性(SystemProperties)分析 | Bob's Blo...
以下分析以android 4.03为基础 前言 Android的系统属性相当于windows的注册表,由key和value组成,且都是核心系统的一个基本机制.相对于windows的注册表,Androi ...
- Android 从 Android 本地图库选择多个图片
原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...
最新文章
- shell操作典型案例--FTP操作
- Ruby --- gem(RubyGems)安装与使用
- CalledFromWrongThreadException
- mysql联合索引的数据结构
- 跳一跳python源码下载_python 微信跳一跳和源码解读
- 华为鸿蒙os2.0系统何时搭载手机,鸿蒙OS 2.0系统正式发布!余承东:明年华为系手机将会搭载...
- OpenGait:首个步态识别框架开源了!
- 甜蜜暴击,情人节插画素材,甜而不腻!
- D8(YT88)加密狗破解与加密工具
- 别以透明的名义降低人工智能的能力
- Flutter 2.10 开发Windows桌面应用快速入门
- 中秋节快乐ooooo
- 三峡学院计算机调剂,重庆三峡学院2019考研调剂信息公告
- 用Meta标签代码让360双核浏览器默认极速模式不是兼容模式
- 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十六)
- IMPERVA- 系统导出
- el-input实现尾部加字
- 智能合约部署Error: exceeds block gas limit undefined
- java调用授权接口oauth2_微信授权就是这个原理,Spring Cloud OAuth2 授权码模式
- python登录教务系统_python+mysql实现教务管理系统
热门文章
- 【Cocos2d-x游戏开发】编译时出现 commands commence before first target
- 极盾科技郑冬东:XDR的技术栈参考
- 下载图片(包括动态图gif)
- 【课后小结】网络班第一节课
- 【解决redis.exceptions.ResponseError】
- Unity中图片压缩格式
- 表单中method=“post“什么意思?
- 人类对于人工智能的担忧来源于什么(上)
- 单元测试框架 Mockito 注解 – @Mock, @Spy, @Captor, @InjectMocks
- D3 笔记十:力导向图