Java实现图片转base64完整代码示例
更新时间:2023年12月26日 16:12:18 作者:巧克力多拿滋
这篇文章主要给大家介绍了关于Java实现图片转base64的相关资料,Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,需要的朋友可以参考下
一. 自己实现byte数组拷贝
public class Base64Util { // base64图片 存储的byte数组 private byte[] baseByte= new byte[0]; public static void main(String[] args) { Base64Util base64Util = new Base64Util(); base64Util.base64Encoding(); } private void base64Encoding(){ try { // 从本地resource目录下获取图片 ClassPathResource classPathResource = new ClassPathResource("/images/e88b27550495d06a041a7854fcd07b8c.jpg"); // base64图片前缀 String pre = "data:image/jpg;base64,"; // 读取图片 FileInputStream fileInputStream = new FileInputStream(classPathResource.getFile()); // 读取字节长度 int len = 0; // baseByte数组的容量 int capacity = 0; byte [] bytes = new byte[1024]; while ((len = fileInputStream.read(bytes)) != -1){ // 对原数组进行拷贝扩容 baseByte= Arrays.copyOf(baseByte, len + capacity); // 将新数据拷贝到新扩容的数组 System.arraycopy(bytes, 0, baseByte, capacity, len); // 数据容量增加 capacity += len; } // 获取base64编码器 Base64.Encoder encoder = Base64.getEncoder(); // 将字节数组转换base64 String encodeToString = encoder.encodeToString(baseByte); System.out.println("======>>>>>>:" + pre + encodeToString); fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
二. 使用ByteArrayOutputStream
public class Base64Util { public static void main(String[] args) { Base64Util base64Util = new Base64Util(); base64Util.base64Encoding(); } private void base64Encoding(){ try { // 从本地resource目录下获取图片 ClassPathResource classPathResource = new ClassPathResource("/images/e88b27550495d06a041a7854fcd07b8c.jpg"); // base64图片前缀 String pre = "data:image/jpg;base64,"; // 读取图片 FileInputStream fileInputStream = new FileInputStream(classPathResource.getFile()); // 读取字节长度 int len = 0; byte [] bytes = new byte[1024]; while ((len = fileInputStream.read(bytes)) != -1){ // 存储读取的字节数组 data.write(bytes, 0, len); } // 获取字节数组 byte[] baseByte = data.toByteArray(); // 获取base64编码器 Base64.Encoder encoder = Base64.getEncoder(); // 将字节数组转换base64 String encodeToString = encoder.encodeToString(baseByte); System.out.println("======>>>>>>:" + pre + encodeToString); fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
总结
到此这篇关于Java实现图片转base64的文章就介绍到这了,更多相关Java图片转base64内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java中的数组复制(clone与arraycopy)代码详解
这篇文章主要介绍了Java中的数组复制(clone与arraycopy)代码详解,本文并未全部介绍数组复制的几种方式,仅对clone和copy的相关内容进行了解析,具有一定参考价值,需要的朋友可以了解下。2017-11-11在IntelliJ IDEA中使用gulp的方法步骤(图文)
这篇文章主要介绍了在IntelliJ IDEA中使用gulp的方法步骤(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-01-01对Mybatis Plus中@TableField的使用正解
这篇文章主要介绍了对Mybatis Plus中@TableField的使用正解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01Java Spring详解如何配置数据源注解开发以及整合Junit
Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力,本篇文章带你了解如何配置数据源、注解开发以及整合Junit2021-10-10详解Spring数据缓存注解@Cacheable、@CachePut、@CacheEvict
这篇文章主要介绍了详解Spring数据缓存注解@Cacheable、CachePut、@CacheEvict,当以一组参数第一次调用某个方法时,返回值会被保存在缓存中,如果这个方法再次以相同的参数进行调用时,这个返回值会从缓存中查询获取,需要的朋友可以参考下2023-07-07
最新评论