• java 图片转base64字符串、base64字符串转图片


    java 图片转base64字符串、base64字符串转图片

    1. 图片转base64字符串:

        /**
         * base64编码字符串转换为图片
         * @param imgStr base64编码字符串
         * @param path 图片路径
         * @return
         */
        public static boolean base64StrToImage(String imgStr, String path) {
            if (imgStr == null)
            return false;
            BASE64Decoder decoder = new BASE64Decoder();
            try {
                // 解密
                byte[] b = decoder.decodeBuffer(imgStr);
                // 处理数据
                for (int i = 0; i < b.length; ++i) {
                    if (b[i] < 0) {
                        b[i] += 256;
                    }
                }
                //文件夹不存在则自动创建
                File tempFile = new File(path);
                if (!tempFile.getParentFile().exists()) {
                    tempFile.getParentFile().mkdirs();
                }
                OutputStream out = new FileOutputStream(tempFile);
                out.write(b);
                out.flush();
                out.close();
                return true;
            } catch (Exception e) {
                return false;
            }
        }

    2. base64字符串转图片:

        /**
         * 图片转base64字符串
         * @param imgFile 图片路径
         * @return
         */
        public static String imageToBase64Str(String imgFile) {
            InputStream inputStream = null;
            byte[] data = null;
            try {
                inputStream = new FileInputStream(imgFile);
                data = new byte[inputStream.available()];
                inputStream.read(data);
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 加密
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);
        }

    3. 测试:

    public static void main(String[] args) {
            String base64Str = imageToBase64Str("D:/pic/001.jpg");
            System.out.println(base64Str);
            
            boolean b = base64StrToImage(base64Str, "D:/pic/temp/002.jpg");
            System.out.println(b);
        }

             

  • 相关阅读:
    Rust入坑指南:亡羊补牢
    antirez:Redis6真的来了
    代码检查又一利器:ArchUnit
    【译】浅谈SOLID原则
    Rust入坑指南:鳞次栉比
    【译】什么才是优秀的代码
    Elasticsearch从入门到放弃:文档CRUD要牢记
    【译】利用Lombok消除重复代码
    Netty 中的心跳检测机制
    Netty 中的异步编程 Future 和 Promise
  • 原文地址:https://www.cnblogs.com/hooly/p/8330433.html
Copyright © 2020-2023  润新知