zoukankan      html  css  js  c++  java
  • java处理图片base64编码的相互转换

    转载自http://www.cnblogs.com/libra0920/p/5754356.html

    直接上代码

    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    
    import java.io.*;
    
    /**
     * Created by cgy on 2016/12/21.
     */
    public class Base {
        /**
         * @param imgStr base64编码字符串
         * @param path   图片路径-具体到文件
         * @return
         * @Description: 将base64编码字符串转换为图片
         * @Author:
         * @CreateTime:
         */
        public static boolean generateImage(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;
                    }
                }
                OutputStream out = new FileOutputStream(path);
                out.write(b);
                out.flush();
                out.close();
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
        }
        /**
         * @Description: 根据图片地址转换为base64编码字符串
         * @Author:
         * @CreateTime:
         * @return
         */
        public static String getImageStr(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);
        }
        public static void main(String[] args) {
            String strImg = getImageStr("G:/web/uploadPicture/out/artifacts/uploadPicture.war/assets/1.jpg");
            System.out.println(strImg);
            generateImage(strImg, "F:/86619-107.jpg");
        }
    }
  • 相关阅读:
    [leetcode] Valid Sudoku
    [leetcode] Count and Say
    [leetcode] Decode Ways
    [leetcode] Sqrt(x)
    [leetcode] Best Time to Buy and Sell Stock II
    7-27 兔子繁衍问题
    7-26 最大公约数和最小公倍数
    7-25 求奇数和
    7-24 猜数字游戏
    7-23 分段计算居民水费
  • 原文地址:https://www.cnblogs.com/cgy96/p/6206742.html
Copyright © 2011-2022 走看看