zoukankan      html  css  js  c++  java
  • JAVA实现图片和BASE64互转(提供小工具)

    有时候接口返回的图片是一个BASE64的字符串,需要我们将其转换成对应的图片,网上虽然有在线的转换,但是我没找到将BASE64字符串转换成图片的工具,所以自己写了一个小工具,下面提供核心工具类:

    转换工具(写的比较粗糙)下载地址:           链接:https://pan.baidu.com/s/1twlh2Ygw7ugUI_jRqW_N1A             提取码:jzf5

    转换工具类:

    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.IOException;
    import java.awt.Toolkit;
    import java.awt.datatransfer.Clipboard;
    import java.awt.datatransfer.StringSelection;
    import java.awt.datatransfer.Transferable;
    
    import javax.imageio.ImageIO;
    
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    
    public class ImageToBase64 {
        
        static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
        static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
        
        /*
         * 图片转换成BASE64字符串
         * filePath 待转换图片路径
         */
        public static String getImageBinary(String filePath) {
            try {
                BufferedImage bi = ImageIO.read(new File(filePath));
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ImageIO.write(bi, "jpg", baos);
                byte[] bytes = baos.toByteArray();
    
                return encoder.encodeBuffer(bytes).trim();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        
        /*
         * BASE64字符串转换成图片
         * base64String BASE64字符串
         * filePath  文件存储路径
         */
        public static void base64StringToImage(String base64String, String filePath) {
            try {
                byte[] bytes1 = decoder.decodeBuffer(base64String);
                ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
                BufferedImage bi1 = ImageIO.read(bais);
                ImageIO.write(bi1, "jpg", new File(filePath));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
         /** 
         * 将字符串复制到剪切板。 
         */  
        public static void setSysClipboardText(String writeMe) {  
            Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();  
            Transferable tText = new StringSelection(writeMe);  
            clip.setContents(tText, null);  
        } 
    }
  • 相关阅读:
    转:Backbone源码分析-Backbone架构+流程图
    PHP标记、
    虚拟机
    PHP学习的第一天
    对基础班的总结
    JS
    基础班学习总结
    react-router-dom
    vuecli3 自适应pc端界面
    vuecli内使用hotcss做移动端适配
  • 原文地址:https://www.cnblogs.com/zblwyj/p/13710755.html
Copyright © 2011-2022 走看看