java image to base64_Java实现base64图片编码数据转换为本地图片的方法
本文实例讲述了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图片编码数据转换为本地图片的方法相关推荐
- php 网络图片 转本地,PHP将Base64图片转换为本地图片并保存
PHP将Base64图片转换为本地图片并保存 /** * [将Base64图片转换为本地图片并保存] * @param [Base64] $base64_image_content [要保存的Base ...
- react 引入远程 动态图片 和 引入本地 图片
目录 1. 引入本地图片 2.引入动态的图片地址 2.1.直接使用传递过来的地址 2.2. 使用跟本地对应的动态图片名称 通过require.context()实现引用 通过直接使用public文件夹 ...
- java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...
网络资源代码 import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOExcep ...
- JAVA 把base64图片数据转为本地图片
/*** 替换html中的base64图片数据为实际图片* @param html* @param fileRoot 本地路径* @param serRoot 服务器路径* @return*/publ ...
- Java 视频截取帧数保存为本地图片及删除本地图片
业务功能实现了通过视频URL截取帧数并保存为图片操作. 通过URL获取视频解析并获取其中某一帧数图片并转换为 base64字符串 并输入到对应位置保存操作,最终删除该保存的临时图片以及临时目录 pub ...
- Markdown插入图片 详细例子(本地图片,网络图片,base64) Windows
网上一番搜索,领略到基本所有回答,都是一样的,简简单单的介绍. 而且,TMD,插入图片答案的本地路径,都是回答的是Linux或Mac OS系统的路径,诸如:/user/desktop/doge.png ...
- php图片处理之本地图片转base64格式上传
我们在开发系统时,处理图片上传是不可避免的,例如使用thinkphp的肯定很熟悉import("@.ORG.UploadFile");的上传方式,今天我们来讲一个使用html5 b ...
- java打印插件_怎样使用C-Lodopa插件打印本地图片(Java)
首先,是接到了一个在web端打印图片的需求.因为我前端使用Jsp,网上查到jsp页面不能够直接引用本地文件夹中的文件.所以只能另寻他法. 从C-Lodopa客服发的官方样例38了解到,C-Lodopa ...
- 微信小程序 --- 图片自适应、本地图片的使用
1.关于图片自适应 image标签中添加mode属性: 默认值:scaleToFill ---- 不保持纵横比例缩放图片,使图片的宽高完全拉伸至填满image标签 aspectFit ---- ...
最新文章
- Java ExecutorService四种线程池的例子与说明
- ASP.NET页面刷新的几种实现方法
- 25岁程序员 VS 35岁程序员,太真实!
- hazelcast入门教程_Hazelcast入门指南第3部分
- linux vim自动执行快捷键,Linux Vim快捷键操作命令整理
- 6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...
- 正月初二 | 2月13日 星期六 | 大年初一单日票房创新纪录;除夕当天外卖订单增七成;央视春晚直播受众达11.4亿人...
- Python 带你来一次说走就走的环球旅行
- Stack Usage on Transfers to Interrupt and Exception Handling Routines
- JavaScript数据结构——散列表(Hash table,也叫哈希表)
- 归并排序java(内附超详解图文讲解)
- SecureCRTSecureFX_HH_x86_7.0.0.326_PortableSoft.rar下载安装百度云
- 人工智能开源项目之SeetaFace6
- 重装系统计算机无法启动,重装系统后无法开机的原因及解决方法
- 人生之路1.20代码 第三部分
- MVVM?瞎搞一波?
- T2691 桶哥的问题——送桶
- Mac使用Microsoft-Remote-Desktop-for-Mac远程桌面Windows
- android友盟微信分享到朋友圈,干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等...
- 联通雁飞格物云平台,单片机连接MQTT服务器