工具类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常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
随机推荐
- Monday
ssm项目 设计模式:上周(观察者模式,策略模式)
- 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图
明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 等等! 什么?! 你还没准备好七夕礼物么? 但其实你不知道要送啥? 原来又双叒叕要 ...
- JAVAEE学期总结
声明:除第一张思维导图为博主所制作,其他思维导图皆来自网络,若侵权,望告知,必删除. ...
- The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone.
介绍 再使用spring操作mysql数据库报错 @Test public void test() { try { //创建连接池,先使用spring框架内置的连接池 DriverManagerDat ...
- PostgreSQL 修改表字段常用命令
--数据库.模式.表名 "identities"."Test"."tab_test" --修改字段名 ALTER TABLE "i ...
- SQLi-LABS Page-1(Basic Challenges) Less11-Less22
Less-11 GET - Blind - Time based - double quotes http://10.10.202.112/sqli/Less-11/ 尝试登录: username:a ...
- 团队展示&选题
团队展示 1.队名:螺旋升天队 2.队员学号: 李光证 3117004660 (队长) 卢俊杰 3117004662 吴子昊 3117004671 陈浩民 3117004646 陈俊铭 3117004 ...
- MySQL数据库:注释及数据类型
注释 /* 多行注释 */ # 单行注释 -- 单行注释(注意:两个但横线后面必须加空格) 数据类型 1.整形 tinyint.smallint.mediumint.int.bigint 小整 ...
- [Go] 在golang中使用正则表达式捕获子表达式
正则匹配并且可以捕获到()这个里面的子表达式的值,linux的grep命令没办法捕获子表达式的值,只能获取到整条正则匹配的内容 package main import "regexp&quo ...
- Linux系统学习 三、网络基础—虚拟机网络配置
Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...