67 lines
1.5 KiB
Java
67 lines
1.5 KiB
Java
package com.zhgd.file;
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import java.io.*;
|
|
|
|
/**
|
|
* @program: wisdomSite
|
|
* @description: 重写MultipartFile方法
|
|
* @author: Mr.Peng
|
|
* @create: 2021-07-26 09:27
|
|
**/
|
|
|
|
public class Base64MultipartFile implements MultipartFile {
|
|
private final byte[] imgContent;
|
|
|
|
private final String header;
|
|
|
|
private final String fileName;
|
|
public Base64MultipartFile(byte[] imgContent, String header, String fileName){
|
|
this.imgContent = imgContent;
|
|
this.header = header.split(";")[0];
|
|
this.fileName = fileName;
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return System.currentTimeMillis() + Math.random() + "." + header.split("/")[1];
|
|
}
|
|
|
|
@Override
|
|
public String getOriginalFilename() {
|
|
return fileName;
|
|
}
|
|
|
|
@Override
|
|
public String getContentType() {
|
|
return header.split(":")[1];
|
|
}
|
|
|
|
@Override
|
|
public boolean isEmpty() {
|
|
return imgContent == null || imgContent.length == 0;
|
|
}
|
|
|
|
@Override
|
|
public long getSize() {
|
|
return imgContent.length;
|
|
}
|
|
|
|
@Override
|
|
public byte[] getBytes() throws IOException {
|
|
return imgContent;
|
|
}
|
|
|
|
@Override
|
|
public InputStream getInputStream() throws IOException {
|
|
return new ByteArrayInputStream(imgContent);
|
|
}
|
|
|
|
@Override
|
|
public void transferTo(File dest) throws IOException, IllegalStateException {
|
|
new FileOutputStream(dest).write(imgContent);
|
|
}
|
|
|
|
}
|