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");
        }
    }
  • 相关阅读:
    腾讯企业微信机器人通知
    python 协程、异步、async
    pytest获取测试用例执行结果(钩子函数:pytest_runtest_makereport)
    pytest hook使用
    sqlalchemy backref解释
    docker 启动mysql 并本地连接
    Flask用paginate实现数据分页
    在flask中使用flaskmigrate管理数据库
    ExtAspNet v2.3.5
    Caliburn Micro下轻松实现ListView的全选功能
  • 原文地址:https://www.cnblogs.com/cgy96/p/6206742.html
Copyright © 2011-2022 走看看