我是靠谱客的博主 美好心锁,这篇文章主要介绍二进制流与base64位相互转换,现在分享给大家,希望可以做个参考。

二进制流与base64位相互转换

base64传到前端需要有文件头来区分
先自己定义一个

复制代码
1
2
3
4
5
6
7
8
9
10
/** * 图片base64格式Map */ private static final Map<String, String> DATA_IMAGE_MAP = new HashMap<String, String>() { { put("png", "data:image/png;base64,"); put("jpg", "data:image/jpeg;base64,"); } };

base64转二进制流

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/** * base64转二进制流并封装附件实体 * @param content * @return */ public static FbAttachment stringChange(String content){ FbAttachment fbAttachment=new FbAttachment(); //判断base64是否有文件头,有就截取,避免冲突 if(content.indexOf(DATA_IMAGE_MAP.get("png"),0)==0){ fbAttachment.setSuffix("png"); content = content.substring(content.indexOf(",")+1); }else if(content.indexOf(DATA_IMAGE_MAP.get("jpg"),0)==0){ fbAttachment.setSuffix("jpg"); content = content.substring(content.indexOf(",")+1); } //base64转二进制流并封装进实体 fbAttachment.setAttachmentContent(Base64.decodeBase64(content)); //附件原始名 fbAttachment.setOriginName(FbAttachmentOriginName.ATTACHMENT_ORIGIN_NAME); //附件业务类型 fbAttachment.setBizType(BusinessType.QUESTION_LIST); return fbAttachment; }

二进制流转base64

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Override public String getAttachmentContent(String id) { FbAttachment fbAttachment=fbAttachmentMapper.selectById(id); String content=null; // 验证后缀是否为空 if (StringUtils.isNotBlank(fbAttachment.getSuffix())) { // 获取图片后缀 String suffix = fbAttachment.getSuffix().toLowerCase(); // 图片后缀判断 if (PICTURE_FORMAT.contains(suffix)) { // 获取base64字符串,并替换base64后的字符串中的回车换行 //二进制流转base64 content=Base64.encodeBase64String(fbAttachment.getAttachmentContent()); ""); // 添加图片前缀 if (DATA_IMAGE_MAP.containsKey(suffix)) { content=DATA_IMAGE_MAP.get(suffix) + content; } } //非图片返回string类型 if (TEXT_FORMAT.contains(suffix)) { content=(new String(fbAttachment.getAttachmentContent())); } } return content; }

最后

以上就是美好心锁最近收集整理的关于二进制流与base64位相互转换的全部内容,更多相关二进制流与base64位相互转换内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(106)

评论列表共有 0 条评论

立即
投稿
返回
顶部