• 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);  
        } 
    }
  • 相关阅读:
    SDWebImage缓存下载图片
    NSMutableUrlRequest自定义封装网络请求
    第152题:乘积最大子序列
    第142题:环形链表II
    第17题:电话号码的组合
    第129题:求根到叶子节点数字之和
    第125题:验证回文串
    第122题:买卖股票的最佳时机II
    第121题:买卖股票的最佳时机
    第120题:三角形最小路径和
  • 原文地址:https://www.cnblogs.com/zblwyj/p/13710755.html
Copyright © 2020-2023  润新知