package com.xmmw.service;
import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder;
import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList;
import java.util.regex.Matcher; import java.util.regex.Pattern;
public class BaseToImg { public static void main(String[] args) throws IOException { String base64Code = "", base64Img = "";
// 获取图片后缀
String imgSuffix = "jpg";
String pattern = "data:image/(.*?);base64";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(base64Code);
ArrayList<String> strs = new ArrayList<>();
if (m.find()) {
strs.add(m.group(1));
}
for (String s : strs) {
imgSuffix = s;
}
if (base64Code.indexOf("base64,") > 0) {
String[] base64LiStrings = base64Code.split("base64,");
// 获取图片内容
base64Img = base64LiStrings[1];
} else {
base64Img = base64Code;
}
BASE64Decoder decoder = new BASE64Decoder();
final byte[] decoderBytes;
decoderBytes = decoder.decodeBuffer(base64Img);
MultipartFile file = new MultipartFile() {
[@Override](https://my.oschina.net/u/1162528)
public void transferTo(File dest) throws IOException, IllegalStateException {
}
[@Override](https://my.oschina.net/u/1162528)
public boolean isEmpty() {
return false;
}
[@Override](https://my.oschina.net/u/1162528)
public long getSize() {
return 0;
}
[@Override](https://my.oschina.net/u/1162528)
public String getOriginalFilename() {
return "";
}
[@Override](https://my.oschina.net/u/1162528)
public String getName() {
return "";
}
@Override
public InputStream getInputStream() throws IOException {
return null;
}
@Override
public String getContentType() {
return null;
}
@Override
public byte[] getBytes() throws IOException {
return decoderBytes;
}
};
}
}