zoukankan      html  css  js  c++  java
  • 工具类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;
        }
    }
  • 相关阅读:
    maven安装和配置
    maven的安装和配置
    mac上pydev
    Android自动化----adb shell,appium,uiautomator2
    Django
    centos操作---搭建环境 安装python
    Linux系统centos中sudo命令不能用----提升权限
    python---numpy
    python-socket
    Le x820 的刷机记录
  • 原文地址:https://www.cnblogs.com/bdsdkrb/p/9303334.html
Copyright © 2011-2022 走看看