package com.agentdriving.driver.modular.system.util;
|
|
import org.apache.commons.fileupload.FileItem;
|
import org.apache.commons.fileupload.FileItemFactory;
|
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
import java.io.*;
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/5/23 18:29
|
*/
|
public class MultipartFileUtil {
|
|
private MultipartFileUtil() { }
|
|
|
public static MultipartFile fileToMultipartFile(File file) {
|
FileItem fileItem = createFileItem(file);
|
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
|
return multipartFile;
|
}
|
|
private static FileItem createFileItem(File file) {
|
FileItemFactory factory = new DiskFileItemFactory(16, null);
|
FileItem item = factory.createItem("textField", "text/plain", true, file.getName());
|
int bytesRead = 0;
|
byte[] buffer = new byte[8192];
|
try {
|
FileInputStream fis = new FileInputStream(file);
|
OutputStream os = item.getOutputStream();
|
while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
|
os.write(buffer, 0, bytesRead);
|
}
|
os.close();
|
fis.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return item;
|
}
|
}
|