admin
2020-06-08 47f157086a556d96e7bcfc9adfe17ecf7c154dfe
fanli/src/main/java/com/yeshi/fanli/util/ImageToBase64.java
New file
@@ -0,0 +1,79 @@
package com.yeshi.fanli.util;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import Decoder.BASE64Encoder;
public class ImageToBase64 {
   public static void main(String[] args) {
      // 第一个:把网络图片装换成Base64
      String netImagePath = "http://ec-1255749512.file.myqcloud.com/swiperPic/c7847b574a79400298bc63706fd89faf.jpeg";
      // 下面是网络图片转换Base64的方法
      String netImageToBase64 = NetImageToBase64(netImagePath);
      System.out.println(netImageToBase64);
      // 下面是本地图片转换Base64的方法
       //String imagePath = "本地图片路径";
      // ImageToBase64(imagePath);
   }
   /**
    * 网络图片转换Base64的方法
    *
    * @param netImagePath     
    */
   public static String NetImageToBase64(String netImagePath) {
      try {
         // 创建URL
         URL url = new URL(netImagePath);
         byte[] by = new byte[1024];
         // 创建链接
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
         conn.setRequestMethod("GET");
         conn.setConnectTimeout(5000);
         InputStream is = conn.getInputStream();
         ByteArrayOutputStream data = new ByteArrayOutputStream();
         // 将内容读取内存中
         int len = -1;
         while ((len = is.read(by)) != -1) {
            data.write(by, 0, len);
         }
         // 关闭流
         is.close();
         // 对字节数组Base64编码
         BASE64Encoder encoder = new BASE64Encoder();
         return encoder.encode(data.toByteArray());
      } catch (IOException e) {
         e.printStackTrace();
      }
      return null;
   }
   /**
    * 本地图片转换Base64的方法
    *
    * @param imgPath     
    */
   public static String ImageToBase64(String imgPath) {
      try {
         InputStream in = new FileInputStream(imgPath);
         byte[] data = new byte[in.available()];
         in.read(data);
         in.close();
         // 对字节数组Base64编码
         BASE64Encoder encoder = new BASE64Encoder();
         return encoder.encode(data);
      } catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }
}