首页 新闻 搜索 专区 学院

MultipartFile类转string类

0
[已解决问题] 解决于 2022-01-15 11:47

MultipartFile类来接受前端图片文件,我要把它转为string,怎么转换呀

sunny-JJ的主页 sunny-JJ | 初学一级 | 园豆:22
提问于:2022-01-11 10:28
< >
分享
最佳答案
0

图片 转string? base 64?

奖励园豆:5
echo_lovely | 小虾三级 |园豆:636 | 2022-01-12 10:28
其他回答(1)
1

public static String generateBase64(MultipartFile file){
if (file == null || file.isEmpty()) {
throw new RuntimeException("图片不能为空!");
}
String fileName = file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf("."));
String contentType = file.getContentType();
byte[] imageBytes = null;
String base64EncoderImg="";
try {
imageBytes = file.getBytes();
BASE64Encoder base64Encoder =new BASE64Encoder();
/**
* 1.Java使用BASE64Encoder 需要添加图片头("data:" + contentType + ";base64,"),
* 其中contentType是文件的内容格式。
* 2.Java中在使用BASE64Enconder().encode()会出现字符串换行问题,这是因为RFC 822中规定,
* 每72个字符中加一个换行符号,这样会造成在使用base64字符串时出现问题,
* 所以我们在使用时要先用replaceAll("[\s*\t\n\r]", "")解决换行的问题。
/
base64EncoderImg = "data:" + contentType + ";base64," + base64Encoder.encode(imageBytes);
base64EncoderImg = base64EncoderImg.replaceAll("[\s
\t\n\r]", "");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return base64EncoderImg;
}

周技 | 园豆:204 (菜鸟二级) | 2022-01-12 18:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册