package com.xmmw.service;java
import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder;web
import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList;spring
import java.util.regex.Matcher; import java.util.regex.Pattern;ide
public class BaseToImg { public static void main(String[] args) throws IOException { String base64Code = "", base64Img = "";.net
// 獲取圖片後綴 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; } }; }
}code