加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MultipartFile转Base64字符串

(2019-08-28 17:39:41)
标签:

multipartfile

base64

杂谈

分类: Java

近期做了一个图片压缩并转Base64字符串的功能,工作中遇见了两个问题,在此记录,也希望能帮到有需要的人。

1.Java使用BASE64Encoder 需要添加图片头("data:" + contentType + ";base64,"),其中contentType是文件的内容格式。

2.Java中在使用BASE64Enconder().encode()会出现字符串换行问题,这是因为RFC 822中规定,每72个字符中加一个换行符号,这样会造成在使用base64字符串时出现问题,所以我们在使用时要先用replaceAll("[\\s*\t\n\r]", "")解决换行的问题。

具体代码如下:

String contentType = file.getContentType();

byte[] imageBytes = file.getBytes();

BASE64Encoder base64Encoder =new BASE64Encoder();

String base64EncoderImg = "data:" + contentType + ";base64," + base64Encoder.encode(imageBytes);

base64EncoderImg = base64EncoderImg.replaceAll("[\\s*\t\n\r]", "");

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有