工具类Base64Util
在和服务器交互的过程中,有时候我们需要把图片编码成base64字符串传输,记录一下工具类
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64; import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException; public class Base64Util {
/**
* 图片转化为base 64字符串
*
* @param imgUrl
* @return
*/
public static String imgEncode(String imgUrl) {
if (EmptyUtil.isNotEmpty(imgUrl)) {
byte[] bytes = new byte[0]; try {
FileInputStream fis = new FileInputStream(imgUrl);
bytes = new byte[fis.available()];
fis.read(bytes);
fis.close(); } catch (IOException e) {
e.printStackTrace();
}
return Base64.encodeToString(bytes, Base64.NO_WRAP); } else {
return "";
}
} /**
* 解码base64字符串
*
* @param imgBase64Str
* @return
*/
public static byte[] decodeImg(String imgBase64Str) {
byte[] bytes = new byte[0];
if (EmptyUtil.isNotEmpty(imgBase64Str)) {
bytes = Base64.decode(imgBase64Str, Base64.DEFAULT);
}
return bytes;
} /**
* bitmap 转化为Base64字符串
*
* @param bitmap
* @return
*/
public static String Bitmap2Base64Str(Bitmap bitmap) {
ByteArrayOutputStream baos = null;
if (EmptyUtil.isNotEmpty(bitmap)) {
try {
baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
baos.flush();
byte[] bitmapBytes = baos.toByteArray();
return Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
} catch (Exception e) {
e.printStackTrace();
}
} else {
return "";
}
return "";
} /**
* byte转化为Bitmap
*
* @param b
* @return
*/
public static Bitmap bytes2Bitmap(byte[] b) {
if (EmptyUtil.isNotEmpty(b)) {
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
return null;
}
}
工具类Base64Util的更多相关文章
- Base64Util工具类
package com.qianmi.weidian.common.util; import java.io.*; /** * This class provides encode/decode fo ...
- java 加密工具类(MD5、RSA、AES等加密方式)
1.加密工具类encryption MD5加密 import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密组件 * * @autho ...
- Base64加密解密工具类
使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...
- Java开发工具类集合
Java开发工具类集合 01.MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...
- Java中常用的加密方式(附多个工具类)
一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类按加密算法是否需要key被分为两类 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
随机推荐
- 文件批量生成IO流读写
/// <summary> /// 生成文件的 /// </summary> /// <param name="calssName"></ ...
- Emoji 映射编码
Emoji官网:https://emojipedia.org/ Name Unified DoCoMo KDDI Softbank Google Wechat black sun with r ...
- Selenium(八):其他操作元素的方法、冻结界面、弹出对话框、开发技巧
1. 其他操作元素的方法 之前我们对web元素做的操作主要是:选择元素,然后点击元素或者输入字符串. 还有没有其他的操作了呢?有. 比如:比如鼠标右键点击.双击.移动鼠标到某个元素.鼠标拖拽等. 这些 ...
- Java学习 1.2——简述JVM,JRE,JDK的关系
在上一节中,我们了解了JVM相关的知识,有兴趣的话可以先去看一下: Java学习 1.1——(JVM介绍)Java为什么能够跨平台? 这个篇主要分享的是JRE,JDK,JVM三者的区别,简言之: JD ...
- 【JDBC】JDBC入门
JDBC的入门 搭建开发环境 编写程序,在程序中加载数据库驱动 建立连接 创建用于向数据库发送SQL的Statement对象 从代表结果集的ResultSet中取出数据 断开与数据库的连接,并释放相关 ...
- 在 VS 中查看所有线程
查看当前所有线程 在程序中打断点,然后启动调试(注意:线程窗口需要启动调试才可以看得到)点击 Debug > Windows > Threads 线程窗口如下:
- SP1043 GSS1 - Can you answer these queries I 线段树
问题描述 LG-SP1043 题解 GSS 系列第一题. \(q\) 个询问,求 \([x,y]\) 的最大字段和. 线段树,维护 \([x,y]\) 的 \(lmax,rmax,sum,val\) ...
- angular路由事件
Angular 4检测路由变化,可以使用router.events来监听: 支持的事件类型: NavigationStart:导航开始 NavigationEnd:导航结束 NavigationCan ...
- 【oracle】查看表空间对应文件所在位置
select file_name , tablespace_name from dba_data_files;select * from dba_data_files;
- 第05组 Beta冲刺(2/4)
第05组 Beta冲刺(2/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...