Java base64 添加data URI
任何语言生成的base64均不会携带data URI,而前端在读取base64时需要携带data URI头
1 public String getContentType(Path path){ 2 try { 3 return Files.probeContentType(path); 4 } catch (IOException e) { 5 e.printStackTrace(); 6 } 7 return null; 8 } 9 10 public String getContentType(byte[] bytes){ 11 MagicMatch match = null; 12 try { 13 match = Magic.getMagicMatch(bytes); 14 } catch (MagicParseException e) { 15 e.printStackTrace(); 16 } catch (MagicMatchNotFoundException e) { 17 e.printStackTrace(); 18 } catch (MagicException e) { 19 e.printStackTrace(); 20 } 21 return match.getMimeType(); 22 } 23 24 public String encryptToBase64(String filePath) { 25 if (filePath == null) { 26 return null; 27 } 28 try { 29 Path path = Paths.get(filePath); 30 if(Files.exists(path,new LinkOption[]{ LinkOption.NOFOLLOW_LINKS})){ 31 byte[] b = Files.readAllBytes(path); 32 String contentType = getContentType(path); 33 String contentType1 = getContentType(b); 34 String base64str1 = DatatypeConverter.printBase64Binary(b); //Java7 35 String base64Str = Base64.getEncoder().encodeToString(b); 36 // cretate "data URI" 37 StringBuilder sb = new StringBuilder(); 38 sb.append("data:"); 39 sb.append(contentType); 40 sb.append(";base64,"); 41 sb.append(base64Str); 42 return sb.toString(); 43 } 44 return null; 45 } catch (IOException e) { 46 e.printStackTrace(); 47 } 48 return null; 49 }
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/14821526.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-05-28 Java多线程