package com.dji.sample.patches.utils;
|
|
import com.dji.sample.patches.config.pojo.PatchesConfigPojo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.mock.web.MockMultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.*;
|
import java.util.UUID;
|
|
public class MultipartFileTOFileUtil {
|
|
|
/**
|
* MultiparFile转File
|
* @param multipartFile
|
* @param unzipPath
|
* @return
|
*/
|
public static File multipartFile2File(MultipartFile multipartFile, String unzipPath) {
|
String tmpFileDir = null;
|
// 创建临时文件
|
String randomFileName = UUID.randomUUID().toString();
|
tmpFileDir = unzipPath + randomFileName;
|
File file = new File(tmpFileDir);
|
InputStream inputStream = null;
|
FileOutputStream outputStream = null;
|
try {
|
// 获取文件输入流
|
inputStream = multipartFile.getInputStream();
|
|
if (!file.exists()) {
|
file.createNewFile();
|
}
|
// 创建输出流
|
outputStream = new FileOutputStream(file);
|
byte[] bytes = new byte[1024];
|
int len;
|
// 写入到创建的临时文件
|
while ((len = ((InputStream) inputStream).read(bytes)) > 0) {
|
outputStream.write(bytes, 0, len);
|
}
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
ZipUtil.deleteFiles(tmpFileDir);
|
return file;
|
}
|
|
//File转MultiparFile
|
public static MultipartFile convert(File file) throws IOException {
|
FileInputStream input = new FileInputStream(file);
|
MultipartFile multipartFile = new MockMultipartFile("file",
|
file.getName(), "application/octet-stream", input);
|
return multipartFile;
|
}
|
|
}
|