前端上传Base64图片,后端处理

前端上传Base64图片,后端处理

写在前面

在与前端对接的时候,总会遇到上传图片的需求,一般前端会上传的是Base64格式的图片

Base64格式图片

前端上传到后端时的Base64格式的图片是长这样的:

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGB
QYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj
...
u1dQf/9k=

其实这部分可以理解为 image/jpeg;base64,/+Base64编码的字节

截取Base64编码的字节


String img = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2
     wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj";
String rawBase64 = img.substring(img.indexOf(",") + 1);

保存图片

byte[] data = Base64.decode(rawBase64);
FileOutputStream out = new FileOutputStream(new File("save.jpg"));
out.write(data);
out.close();
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页