base64 转MultipartFile的子类 CommonsMultipartFile
public static String getRealImgeStr(String imgStr){
String[] str = imgStr.split(",");
return str[1];
}
public static File base64ToFile(String base64) {
if(base64==null||"".equals(base64)) {
return null;
}
byte[] buff= Base64.decode(getRealImgeStr(base64));
File file=null;
FileOutputStream fout=null;
try {
file = File.createTempFile("tmp", ".jpg");
fout=new FileOutputStream(file);
fout.write(buff);
} catch (IOException e) {
e.printStackTrace();
}finally {
if(fout!=null) {
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return file;
}
public static CommonsMultipartFile base64toMultipartFile(String base64filestr){
final File file = CommonUtil.base64ToFile(base64filestr);
if(file.exists()){
System.out.print("存在");
System.out.print("长度"+file.length());
}
DiskFileItem item = (DiskFileItem) new DiskFileItemFactory().createItem(file.getName(), "image/jpeg", false, file.getName());
InputStream input = null;
try {
input = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
OutputStream os = null;
try {
os = item.getOutputStream();
int ret = input.read();
while ( ret != -1 )
{
os.write(ret);
ret = input.read();
}
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
return new CommonsMultipartFile(item);
}