importorg.springframework.web.multipart.MultipartFile;importjava.io.*;publicclassBASE64DecodedMultipartFileimplementsMultipartFile{privatefinalbyte[] imgContent;privatefinalString header;publicBASE64DecodedMultipartFile(byte[] imgContent,String header){this.imgContent = imgContent;this.header = header.split(";")[0];}@OverridepublicStringgetName(){// TODO - implementation depends on your requirementsreturnSystem.currentTimeMillis()+Math.random()+"."+ header.split("/")[1];}@OverridepublicStringgetOriginalFilename(){// TODO - implementation depends on your requirementsreturnSystem.currentTimeMillis()+(int)Math.random()*10000+"."+ header.split("/")[1];}@OverridepublicStringgetContentType(){// TODO - implementation depends on your requirementsreturn header.split(":")[1];}@OverridepublicbooleanisEmpty(){return imgContent ==null|| imgContent.length ==0;}@OverridepubliclonggetSize(){return imgContent.length;}@Overridepublicbyte[]getBytes()throwsIOException{return imgContent;}@OverridepublicInputStreamgetInputStream()throwsIOException{returnnewByteArrayInputStream(imgContent);}@OverridepublicvoidtransferTo(File dest)throwsIOException,IllegalStateException{newFileOutputStream(dest).write(imgContent);}}
importorg.springframework.web.multipart.MultipartFile;importsun.misc.BASE64Decoder;importjavax.imageio.ImageIO;importjava.awt.image.BufferedImage;importjava.io.ByteArrayInputStream;importjava.io.IOException;/**
* Base64工具类
*/publicfinalclassBase64{publicstaticBooleanisBase64(String base64){if(base64.lastIndexOf(",")!=-1){
base64 = base64.substring(base64.lastIndexOf(",")+1);}try{BufferedImage bufImg =ImageIO.read(newByteArrayInputStream(newBASE64Decoder().decodeBuffer(base64)));if(null== bufImg){returnfalse;}returntrue;}catch(IOException e){
e.printStackTrace();returnfalse;}}publicstaticMultipartFilebase64ToMultipart(String base64){try{String[] baseStrs = base64.split(",");BASE64Decoder decoder =newBASE64Decoder();byte[] b =newbyte[0];
b = decoder.decodeBuffer(baseStrs[1]);for(int i =0; i < b.length;++i){if(b[i]<0){
b[i]+=256;}}returnnewBASE64DecodedMultipartFile(b, baseStrs[0]);}catch(IOException e){
e.printStackTrace();returnnull;}}}