一、简介:本工具类包含本地图片转Base64编码 和 远程图片转 Base64编码

二、代码实例

package org.jeecg.common.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 java.util.Base64;/*** @ClassName ImgBase64Util* @Description 图片工具类* @Author WangJing* @Date 2021/7/2 5:06 下午* @Version V1.1.0*/
public class ImgBase64Util {public static void main(String[] args) throws IOException {String localUrlBase64Str = requestLocalUrlToBase64("/Users/wangjing/Desktop/upload/001.png");System.out.println("本地图片转换结果:" + localUrlBase64Str);String internetUrlBase64Str = requestInternetUrlToBase64("https://www.baidu.com/img/flexible/logo/pc/result@2.png");System.out.println("远程图片转换结果:" + internetUrlBase64Str);}/*** 根据本地图片地址转换 Base64编码字符串** @param imgUrl 本地图片地址* @return*/public static String requestLocalUrlToBase64(String imgUrl) throws IOException {InputStream inputStream = null;byte[] data = null;try {inputStream = new FileInputStream(imgUrl);data = new byte[inputStream.available()];inputStream.read(data);} catch (IOException e) {e.printStackTrace();} finally {if (inputStream != null) {inputStream.close();}}// 加密sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();return encoder.encode(data);}/*** 根据网络图片地址转换图片Base64编码字符串** @param imgUrl 网络图片地址* @return*/public static String requestInternetUrlToBase64(String imgUrl) {String result = null;HttpURLConnection connection = null;try {URL url = new URL(imgUrl);connection = (HttpURLConnection) url.openConnection();connection.setDoOutput(true);connection.setRequestMethod("GET");connection.setConnectTimeout(5000);connection.setReadTimeout(5000);// 获取请求输入流InputStream inputStream = connection.getInputStream();// inputStream流数据转ByteArrayOutputStreamint len = -1;byte[] buffer = new byte[1024];ByteArrayOutputStream out = new ByteArrayOutputStream();while ((len = inputStream.read(buffer)) != -1) {out.write(buffer, 0, len);}// ByteArrayOutputStream编码成base64字符串result = new String(Base64.getEncoder().encode(out.toByteArray()));connection.disconnect();} catch (Exception e) {e.printStackTrace();} finally {if (connection != null) {connection.disconnect();}}return result;}}

三、执行效果(Base64字符串太长,所以截图展示一部分)

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

图片转Base64 编码工具类相关推荐

  1. 图片压缩处理以及网络图片转base64编码工具类

    一.需求分析 在项目中,需要对本地的图片进行缩放处理(按指定长宽缩放等),方便前端展示缩略图,获取更快的页面加载速度.另外就是针对网络上的图片需要进行base64编码处理(如百度信息流的图片上传需要对 ...

  2. Java处理富文本编辑器的图片转为base64编码

    一.需求(场景) 后台(内网)通过富文本编辑器编辑的图文信息,需要在移动端(外网)展示,需要将内容中的图片的src的路径替换成base64编码的传递到前台. 二.思路 1.获取内容中的<img& ...

  3. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usin ...

  4. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例|chu

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usin ...

  5. python将图片导出数据库_python 将图片转换为base64编码转储进数据库

    # _*_ coding: utf-8 _*_ #中间件:拓展工具遍历文件夹,对文件夹图片进行base64编码,写入数据库,并且读取查找方法 __author__ = 'wf15038' __date ...

  6. 将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片

    前提摘要:最近做一个项目,是关于slam的,给slam发送构建地图的命令,slam不断返回json串,而地图的图片在json串中已经经过base64编码了,我这边需要将base64编码解析并以流的方式 ...

  7. Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试

    一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...

  8. Markdown 插入图片 基于base64编码

    流程 将图片保存在本地 将图片转码至base64编码 在文档中插入编码 markdown使用 ![toc][toc_base64][toc_base64]:https://img-blog.csdni ...

  9. java svgbase64转byte_java 图片进行base64 编码解码

    java 图片进行base64 编码解码 刘振兴 代码分享 2017年06月07日 10555 2条评论 import sun.misc.BASE64Decoder; import sun.misc. ...

最新文章

  1. 迎接奥运会 里约把机场的IT建设翻新了下
  2. 深入剖析神秘的“零拷贝”
  3. LockSupport
  4. 玖云个人导航API工具网站源码
  5. CSS开发过程中的20个快速提升技巧
  6. 如何在苹果Mac中设置 Excel 文件打印范围刚好是一页纸?
  7. 站在5G潮头 爱立信如何重描金字招牌 | MWC 2019
  8. c51语言的注释,单片机C51编程规范
  9. 第29课:来自未来的简历
  10. python画立体爱心_Python画3D心形
  11. 第二块显示屏(扩展屏)左右调整
  12. Java IO完全总结(转载) --- 重点在源码分析
  13. 串口 COM口,并口 LPT口,RS232、RS485、CAN、PC卡 及DAQ
  14. AD转换为KiCAD的方法
  15. 重邮2018年硕士研究生入学考试(《数据结构》802)自己做的部分答案
  16. 27-什么是自旋锁?自旋的好处和后果是什么呢?
  17. 毕业设计之 --- 基于深度学习的行人重识别(person reid)
  18. 磨皮美白搞笑图片处理
  19. idea maven项目的依赖有红色波浪线解决
  20. Linux 命令介绍

热门文章

  1. landsat5数据下载及其格式介绍
  2. 电气器件系列三十:伺服电机
  3. CTC模型、安装及其pytorch绑定安装
  4. WEB3.0的详细介绍
  5. 用于射频功率放大器线性化的多查找表数字预失真
  6. ucosII中禁止任务调度方式
  7. Word盖章和PDF盖章
  8. OSChina 周四乱弹 —— 不想写代码,想划水
  9. 三次握手四次挥手之抓包讲解
  10. 手机备忘录每个月的10号定时提醒怎么设置