java base64转图片
方法 : 传入文件路径和base64位的编码
/** * base64转为图片 * @param path * 文件路径:到文件夹即可,代码里会在文件夹里生成对应的jpg文件 * @param base64 * @return */ public static String base64ToJpg(String path,String base64){ // 判断文件路径是否存在 File filePath = new File(path); if (!filePath.exists()){ filePath.mkdirs(); } // 创建文件 String jpgFile = path + "\\" + UUID.randomUUID() + ".jpg"; File file = new File(jpgFile); boolean jpgFileExist = false; try { jpgFileExist = file.createNewFile(); log.info("jpg文件创建成功"); } catch (IOException e) { log.info("jpg文件创建失败"); e.printStackTrace(); } if (jpgFileExist){ // 解密 Base64.Decoder decoder = Base64.getDecoder(); // 去掉base64前缀 data:image/jpeg;base64, base64 = base64.substring(base64.indexOf(",", 1) + 1, base64.length()); byte[] b = decoder.decode(base64); // 处理数据 for (int i = 0; i < b.length; ++i) { if (b[i] < 0) { b[i] += 256; } } // 保存图片 try { FileOutputStream out = new FileOutputStream(jpgFile); out.write(b); out.flush(); out.close(); // 写入成功返回文件路径 return jpgFile; } catch (FileNotFoundException e) { log.info("文件未找到"); e.printStackTrace(); } catch (IOException e) { log.info("写入失败"); e.printStackTrace(); } } return "文件不存在"; }
main方法
public static void main(String[] args) { Map<String, Object> imageCode = getImageCode(); log.info(imageCode.get("imageCodeKey").toString()); log.info(imageCode.get("imageCodeBase64").toString()); String base64 = imageCode.get("imageCodeBase64").toString(); String filePath = "C:\\Users\\Asus\\Desktop\\temp"; String res = base64ToJpg(filePath, base64); log.info(res); }
结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律