分享Java实现图片转换base64的两种方法

分享Java实现图片转换base64的两种方法如何把网络图片转换成 base64 或者把本地图片转换成 base64 下面就给大家分享用 Java 实现图片转换 base64 的两种方法 希望大家共勉 以后尽量避免 下面先介绍第一种 把网络图片转换成 Base64 字符串 到此 第一种方法我就介

欢迎大家来到IT世界,在知识的湖畔探索吧!

如何把网络图片转换成base64,或者把本地图片转换成base64,下面就给大家分享用Java实现图片转换base64的两种方法,希望大家共勉,以后尽量避免:

分享Java实现图片转换base64的两种方法



欢迎大家来到IT世界,在知识的湖畔探索吧!

  下面先介绍第一种:把网络图片转换成Base64字符串

分享Java实现图片转换base64的两种方法

  第二种:把本地图片转换成base64

分享Java实现图片转换base64的两种方法

  由此两种方法都介绍完了,下面附上源码:

  package zhang;   import java.io.ByteArrayOutputStream;   import java.io.FileInputStream;   import java.io.IOException;   import java.io.InputStream;   import java.net.HttpURLConnection;   import java.net.URL;   public class ImageToBase64 {   public static void main(String[] args) {   //第一个:把网络图片装换成Base64   String netImagePath = "网络图片路径";   //下面是网络图片转换Base64的方法   String strNetImageToBase64 = NetImageToBase64(netImagePath);   System.out.println("网络图片转换Base64:"+strNetImageToBase64);   //下面是本地图片转换Base64的方法   String imagePath = "本地图片路径";   String strImageToBase64 =ImageToBase64(imagePath);   System.out.println("本地图片转换Base64:"+strNetImageToBase64);   }

欢迎大家来到IT世界,在知识的湖畔探索吧!

欢迎大家来到IT世界,在知识的湖畔探索吧!  /   * 网络图片转换Base64的方法   * @param netImagePath   */   private static String NetImageToBase64(String netImagePath) {   ByteArrayOutputStream data = new ByteArrayOutputStream();   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();   // 将内容读取内存中   int len = -1;   while ((len = is.read(by)) != -1) {   data.write(by, 0, len);   }   // 关闭流   is.close();   } catch (IOException e) {   e.printStackTrace();   }   // 对字节数组Base64编码   BASE64Encoder encoder = new BASE64Encoder();   return encoder.encode(data.toByteArray());   }
  /   * 本地图片转换Base64的方法   * @param imgPath   */   public static String ImageToBase64(String imgPath) {   InputStream in = null;   byte[] data = null;   // 读取图片字节数组   try {   in = new FileInputStream(imgPath);   data = new byte[in.available()];   in.read(data);   in.close();   } catch (IOException e) {   e.printStackTrace();   }   // 对字节数组Base64编码   BASE64Encoder encoder = new BASE64Encoder();   // 返回Base64编码过的字节数组字符串   return encoder.encode(data);   }   }

  刚刚说了,把图片转成base64是有一定的问题的,下面分析一下:

  1.转换时间过长,影响性能,如果多张图片转码,可能会卡顿

  2.如果图片过大,转成字符串,无法转换完全,因为字符串有最大长度限制65534字节;

  第一种涉及到性能优化问题,可以开启子线程,异步多线程处理,如需了解请查看线程方面的问题,我后面也会写出具体方案.

  第二种可以把图片进行压缩,但是只能解燃眉之急,最好的方法还是换种方式处理图片;

如果你想获得更多Java学习方法,可以关注“武汉千锋”微信公众号!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/144031.html

(0)
上一篇 18分钟前
下一篇 3分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信