java图片转base64
买泛域名SSL证书 送5斤装现摘猕猴桃一箱、同时提供技开源商城搭建免费技术支持。
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
package org.jeecg.common.util; import org.apache.commons.codec.binary.Base64; import sun.misc.BASE64Decoder; import java.io.*; public class ImgBase64 { /** * 将图片转换成Base64编码 * @param imgFile 待处理图片 * @return */ public static String getImgStr(String imgFile) { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 InputStream in = null; byte[] data = null; // 读取图片字节数组 try { in = new FileInputStream(imgFile); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } return Base64.encodeBase64String(data); } /** * 对字节数组字符串进行Base64解码并生成图片 * @param imgStr 图片数据 * @param imgFilePath 保存图片全路径地址 * @return */ public static boolean generateImage(String imgStr, String imgFilePath) { // if (imgStr == null) // 图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] b = decoder.decodeBuffer(imgStr); for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } // 生成jpg图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } } }
调用:
String url= "D:\\1.jpg";// 待处理的图片 String imgbese = getImgStr(url); String img_path="data:image/jpeg;base64,"+imgbese ; String url= "D:\\1.jpg";// 新生成的图片 generateImage(imgbese, url);
jar包:
<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version> </dependency>