• java将图片输出base64位码显示


    注意需要过滤: 数据

    jkd1.7的

    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
      /**
         * 网络图片转换Base64的方法
         *
         * @param netImagePath     
         */
        public static String NetImageToBase64(String netImagePath) {
            final ByteArrayOutputStream data = new ByteArrayOutputStream();
            String strNetImageToBase64 = null;
            try {
                // 创建URL
                URL url = new URL(netImagePath);
                final byte[] by = new byte[1024];
                // 创建链接
                final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                conn.setConnectTimeout(5000);
                if(conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
                    return strNetImageToBase64;
                    //连接失败/链接失效/图片不存在
                }
    
                Thread thread =new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            InputStream is = conn.getInputStream();
                            // 将内容读取内存中
                            int len = -1;
                            while ((len = is.read(by)) != -1) {
                                data.write(by, 0, len);
                            }
                            // 关闭流
                            is.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                });
                thread.start();
                try {
                    thread.join();
                } catch (InterruptedException e) {
                     e.printStackTrace();
                }
                // 对字节数组Base64编码
                BASE64Encoder encoder = new BASE64Encoder();
                strNetImageToBase64 = encoder.encode(data.toByteArray());
                // 删除 
    
                strNetImageToBase64 = strNetImageToBase64.replaceAll("
    ", "").replaceAll("
    ", "");
                strNetImageToBase64 = "data:image/jpeg;base64," + strNetImageToBase64;
    
    
    
            } catch (IOException e) {
                e.printStackTrace();
            }
            return  strNetImageToBase64;
        }
    

      

    1.8java.util.Base64包

    /**
         * 转换为base64格式
         *
         * @param image
         * @return
         */
        public static String encode2Base64Jpg(BufferedImage image) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();// io流
            try {
                ImageIO.write(image, "jpg", baos);
            } catch (IOException e) {
                e.printStackTrace();
            }
            byte[] bytes = baos.toByteArray();// 转换成字节
            Base64.Encoder encoder = Base64.getEncoder();
            String jpgBase64 = encoder.encodeToString(bytes).trim();// 转换成base64串
            jpgBase64 = jpgBase64.replaceAll("
    ", "").replaceAll("
    ", "");// 删除 
    
    
            return "data:image/jpeg;base64," + jpgBase64;
        }
    

      

    其他本地图片处理

    /**
         * 图片转化成base64字符串
         * @param imgPath
         * @return
         */
        public static String GetImageStr(String imgPath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
            String imgFile = imgPath;// 待处理的图片
            InputStream in = null;
            byte[] data = null;
            String encode = null; // 返回Base64编码过的字节数组字符串
            // 对字节数组Base64编码
            BASE64Encoder encoder = new BASE64Encoder();
            try {
                // 读取图片字节数组
                in = new FileInputStream(imgFile);
                data = new byte[in.available()];
                in.read(data);
                encode = encoder.encode(data);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    in.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return encode;
        }
    

      

  • 相关阅读:
    Java基础知识强化之集合框架笔记15:List集合的特点
    Java基础知识强化之集合框架笔记14:List集合存储字符串并遍历
    Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历
    Java基础知识强化之集合框架笔记12:Collection集合存储字符串并遍历
    Java基础知识强化之集合框架笔记11:Collection集合之迭代器的原理及源码解析
    Java基础知识强化之集合框架笔记10:Collection集合使用的步骤
    rsync 远程数据同步工具详解
    FastDFS配置说明
    redis监控状态
    zabbix监控phpfpm
  • 原文地址:https://www.cnblogs.com/achengmu/p/11813995.html
Copyright © 2020-2023  润新知