wisdomisite-java/src/main/java/com/zhgd/file/Base64MultipartFile.java

67 lines
1.5 KiB
Java
Raw Normal View History

2023-02-16 15:28:15 +08:00
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);
}
}