本文实例讲述了Java实现base64图片编码数据转换为本地图片的方法。分享给大家供大家参考,具体如下:

项目中用到的把base64图片数据转为本地图片的函数

/**

* 替换html中的base64图片数据为实际图片

* @param html

* @param fileRoot 本地路径

* @param serRoot 服务器路径

* @return

*/

public static String replaceBase64Image(String html,String fileRoot,String serRoot){

File file = new File(fileRoot);

if(!file.exists()){//文件根目录不存在时创建

new File(fileRoot).mkdirs();

}

String htmlContent = html;

Pattern pattern = Pattern.compile("\\]*src=\"data:image/[^>]*>");

Matcher matcher = pattern.matcher(html);

GUIDUtils.init();

while(matcher.find()){ //找出base64图片元素

String str = matcher.group();

String src = ExStringUtils.substringBetween(str, "src=\"", "\"");//src="..."

String ext = ExStringUtils.defaultIfEmpty(ExStringUtils.substringBetween(str, "data:image/", ";"), "jpg");//图片后缀

String base64ImgData = ExStringUtils.substringBetween(str, "base64,", "\"");//图片数据

if(ExStringUtils.isNotBlank(ext)&&ExStringUtils.isNotBlank(base64ImgData)){

//data:image/gif;base64,base64编码的gif图片数据

//data:image/png;base64,base64编码的png图片数据

if("jpeg".equalsIgnoreCase(ext)){//data:image/jpeg;base64,base64编码的jpeg图片数据

ext = "jpg";

} else if("x-icon".equalsIgnoreCase(ext)){//data:image/x-icon;base64,base64编码的icon图片数据

ext = "ico";

}

String fileName = GUIDUtils.buildMd5GUID(false)+"."+ext;//待存储的文件名

String filePath = fileRoot+File.separator+fileName;//图片路径

try {

convertBase64DataToImage(base64ImgData, filePath);//转成文件

String serPath = serRoot+fileName;//服务器地址

htmlContent = htmlContent.replace(src, serPath);//替换src为服务器地址

} catch (IOException e) {

e.printStackTrace();

}

}

}

return htmlContent;

}

/**

* 把base64图片数据转为本地图片

* @param base64ImgData

* @param filePath

* @throws IOException

*/

public static void convertBase64DataToImage(String base64ImgData,String filePath) throws IOException {

BASE64Decoder d = new BASE64Decoder();

byte[] bs = d.decodeBuffer(base64ImgData);

FileOutputStream os = new FileOutputStream(filePath);

os.write(bs);

os.close();

}

PS:这里再为大家提供几款base64在线工具供大家参考:

希望本文所述对大家java程序设计有所帮助。

java image to base64_Java实现base64图片编码数据转换为本地图片的方法相关推荐

  1. php 网络图片 转本地,PHP将Base64图片转换为本地图片并保存

    PHP将Base64图片转换为本地图片并保存 /** * [将Base64图片转换为本地图片并保存] * @param [Base64] $base64_image_content [要保存的Base ...

  2. react 引入远程 动态图片 和 引入本地 图片

    目录 1. 引入本地图片 2.引入动态的图片地址 2.1.直接使用传递过来的地址 2.2. 使用跟本地对应的动态图片名称 通过require.context()实现引用 通过直接使用public文件夹 ...

  3. java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...

    网络资源代码 import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOExcep ...

  4. JAVA 把base64图片数据转为本地图片

    /*** 替换html中的base64图片数据为实际图片* @param html* @param fileRoot 本地路径* @param serRoot 服务器路径* @return*/publ ...

  5. Java 视频截取帧数保存为本地图片及删除本地图片

    业务功能实现了通过视频URL截取帧数并保存为图片操作. 通过URL获取视频解析并获取其中某一帧数图片并转换为 base64字符串 并输入到对应位置保存操作,最终删除该保存的临时图片以及临时目录 pub ...

  6. Markdown插入图片 详细例子(本地图片,网络图片,base64) Windows

    网上一番搜索,领略到基本所有回答,都是一样的,简简单单的介绍. 而且,TMD,插入图片答案的本地路径,都是回答的是Linux或Mac OS系统的路径,诸如:/user/desktop/doge.png ...

  7. php图片处理之本地图片转base64格式上传

    我们在开发系统时,处理图片上传是不可避免的,例如使用thinkphp的肯定很熟悉import("@.ORG.UploadFile");的上传方式,今天我们来讲一个使用html5 b ...

  8. java打印插件_怎样使用C-Lodopa插件打印本地图片(Java)

    首先,是接到了一个在web端打印图片的需求.因为我前端使用Jsp,网上查到jsp页面不能够直接引用本地文件夹中的文件.所以只能另寻他法. 从C-Lodopa客服发的官方样例38了解到,C-Lodopa ...

  9. 微信小程序 --- 图片自适应、本地图片的使用

    1.关于图片自适应 image标签中添加mode属性: 默认值:scaleToFill  ----  不保持纵横比例缩放图片,使图片的宽高完全拉伸至填满image标签 aspectFit  ---- ...

最新文章

  1. Java ExecutorService四种线程池的例子与说明
  2. ASP.NET页面刷新的几种实现方法
  3. 25岁程序员 VS 35岁程序员,太真实!
  4. hazelcast入门教程_Hazelcast入门指南第3部分
  5. linux vim自动执行快捷键,Linux Vim快捷键操作命令整理
  6. 6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...
  7. 正月初二 | 2月13日 星期六 | 大年初一单日票房创新纪录;除夕当天外卖订单增七成;央视春晚直播受众达11.4亿人...
  8. Python 带你来一次说走就走的环球旅行
  9. Stack Usage on Transfers to Interrupt and Exception Handling Routines
  10. JavaScript数据结构——散列表(Hash table,也叫哈希表)
  11. 归并排序java(内附超详解图文讲解)
  12. SecureCRTSecureFX_HH_x86_7.0.0.326_PortableSoft.rar下载安装百度云
  13. 人工智能开源项目之SeetaFace6
  14. 重装系统计算机无法启动,重装系统后无法开机的原因及解决方法
  15. 人生之路1.20代码 第三部分
  16. MVVM?瞎搞一波?
  17. T2691 桶哥的问题——送桶
  18. Mac使用Microsoft-Remote-Desktop-for-Mac远程桌面Windows
  19. android友盟微信分享到朋友圈,干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等...
  20. 联通雁飞格物云平台,单片机连接MQTT服务器

热门文章

  1. 如何使用svconfigeditor.exe编辑WCF Service配置文件-配置一个基本的Endpoint(一)
  2. oracle简单建库基本流程
  3. 栈、队列(链表实现)
  4. metinfo小于v6.2.0版本SQL盲注利用脚本
  5. scrapy爬虫框架入门实战
  6. C/S模型之TCP协议
  7. ERP产品销售发货判断库存功能(四十二)
  8. GDB调试汇编堆栈过程的学习
  9. Visual Tracker Benchmark
  10. mysql timestamp 值不合法问题