base64Code 轉 MultipartFile

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

相關文章
相關標籤/搜索