Java图片与Base64编码相互转换

it2025-09-13  5

import org.apache.commons.lang3.ArrayUtils; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Base64; /** * @Description: 图片Base64相互转换 * @Version: 1.0 */ public class ImageBase64Utils { /** * 将图片转换成Base64编码 * @param imgFile 待处理图片 * @return */ public static String imageToBase64(String imgFile) { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 byte[] data = null; try(InputStream in = new FileInputStream(imgFile)){ data = new byte[in.available()]; in.read(data); } catch (IOException e){ e.printStackTrace(); } return new String(Base64.getEncoder().encode(data)); } /** * 对字节数组字符串进行Base64解码并生成图片 * @param imgStr 图片数据 * @return */ public static byte[] base64ToImage(String imgStr) { try { // Base64解码 byte[] b = Base64.getDecoder().decode(imgStr); for (int i = 0; i < b.length; ++i) { // 调整异常数据 if (b[i] < 0) { b[i] += 256; } } return b; } catch (Exception e) { e.printStackTrace(); return ArrayUtils.EMPTY_BYTE_ARRAY; } } }
最新回复(0)