• 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);  
        } 
    }
  • 相关阅读:
    创业失败的七个原因及解决之道
    技术人员如何参与产品设计讨论:激活那一潭死水
    基于Android Studio搭建hello world工程
    WINCE6.0+IMX515通过cfimager.exe烧录镜像文件
    基于Android Studio搭建Android应用开发环境
    WinCE启动失败的原因与解决办法分析
    Maximum Allowed Error 7 错误解决
    s3c6410 开发板Linux系统支持 K9GAG08U0E的方法
    Nandflash 驱动移植
    GIFT-EMS礼记----青软S2SH(笔记)
  • 原文地址:https://www.cnblogs.com/zblwyj/p/13710755.html
Copyright © 2020-2023  润新知