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.*;
|
import java.net.URI;
|
import java.net.URISyntaxException;
|
import java.net.URL;
|
import java.net.URLConnection;
|
import java.util.UUID;
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/5/23 18:29
|
*/
|
public class MultipartFileUtil {
|
|
private MultipartFileUtil() { }
|
|
// public static MultipartFile fileToMultipartFile(String path) {
|
// URL url = new URL(path);
|
// URLConnection urlConnection = url.openConnection();
|
// InputStream inputStream = urlConnection.getInputStream();
|
//
|
// FileItem fileItem = createFileItem(inputStream, file);
|
// MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
|
// return multipartFile;
|
// }
|
|
|
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;
|
}
|
|
|
|
private static FileItem createFileItem(InputStream inputStream, String fileName) {
|
FileItemFactory factory = new DiskFileItemFactory(16, null);
|
FileItem item = factory.createItem("textField", "text/plain", true, fileName);
|
int bytesRead = 0;
|
byte[] buffer = new byte[8192];
|
try {
|
OutputStream os = item.getOutputStream();
|
while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
|
os.write(buffer, 0, bytesRead);
|
}
|
os.close();
|
inputStream.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return item;
|
}
|
|
|
public static void main(String[] ages){
|
// String url = "https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/admin%2F%2Fstorage%2Femulated%2F0%2FAndroid%2Fdata%2Fcom.cheaper.driver%2Fcache%2Fimage%2F1681352347391.jpg";
|
// MultipartFile multipartFile = MultipartFileUtil.fileToMultipartFile(url);
|
// System.err.println(multipartFile.getName());
|
}
|
}
|