在和服务器交互的过程中,有时候我们需要把图片编码成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的更多相关文章

  1. Base64Util工具类

    package com.qianmi.weidian.common.util; import java.io.*; /** * This class provides encode/decode fo ...

  2. java 加密工具类(MD5、RSA、AES等加密方式)

    1.加密工具类encryption MD5加密 import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密组件 * * @autho ...

  3. Base64加密解密工具类

    使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...

  4. Java开发工具类集合

    Java开发工具类集合 01.MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...

  5. Java中常用的加密方式(附多个工具类)

    一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类按加密算法是否需要key被分为两类 ...

  6. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  8. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  9. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

随机推荐

  1. $和jquery的关系

    $和jquery的关系 $其实是jQuery的别名 一般直接使用$符号 在许多JavaScript库中都会有$作为标记.如果同时使用多个JavaScript库时难免会出现冲突. 解决方法:重新设置jQ ...

  2. 关于如何获取项目所部署的本机IP和端口的问题

    关于如何获取项目所部署的本机IP和端口的问题 今天在写一个需求的时候碰到一个不常见的问题,在没有继承或者实现服务器提供的接口或者实现类的时候,比如说部署在tomacat上,某个类不去继承servelt ...

  3. [转]Workbook.SaveAs method (Excel) Password

    本文转自:https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.saveas Saves changes to the work ...

  4. 微信小程序实现点击拍照长按录像功能

    微信小程序实现点击拍照长按录像功能 代码里面注释写的都很详细,直接上代码.官方的组件属性中有触摸开始和触摸结束属性.本功能依靠这些属性实现. .wxml代码: <!-- 相机 pages/cam ...

  5. oracle12.2RAC之OGG安装配置(一)

    前面配置了ACFS用于ogg目录. 上传软件并解压安装: unzip 123014_fbo_ggs_Linux_x64_shiphome.zip cd fbo_ggs_Linux_x64_shipho ...

  6. gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)

    gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...

  7. Octave移动数据

    A=[1 2;3 4;5 6] size(A)   会返回(3,2) length(A)  会返回矩阵的维度   =3 pwd  :查看当前Octave的路径 cd D:/... :改变Octave的 ...

  8. 《专访 RocketMQ 联合创始人:项目思路、技术细节和未来规划》

    专访 RocketMQ 联合创始人:项目思路.技术细节和未来规划   木环 阅读数:138092017 年 2 月 20 日 18:00   编者按 这些年开源氛围越来越好,各大 IT 公司都纷纷将一 ...

  9. <Matrix> 311 378

    311. Sparse Matrix Multiplication 稀疏矩阵的计算.稀疏矩阵的特点是有大量的0,如果采用暴力算法则比然会有很多无意义的计算. C[ i ][ j ] += A[ i ] ...

  10. shell通配符, 变量, shell作用域

    1. 指定格式输出当前时间: echo `date +%Y%m%d`  # 注意使用反引号, +号后面不要有空格 反引号中的东西会被当做命令来执行, 并输出执行的结果 2. $uid用于判断当前是否是 ...