package com.yuanchu.limslaboratory.utils;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.File;
|
import java.io.FileOutputStream;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
|
/**
|
* @Author 张宾
|
* @Date 2022/8/5
|
*/
|
@Slf4j
|
public class MultipartFileToFileUtil {
|
/**
|
* MultipartFile 转 File
|
*
|
* @param file
|
* @throws Exception
|
*/
|
public static File multipartFileToFile(MultipartFile file) throws Exception {
|
|
File toFile = null;
|
if (file.equals("") || file.getSize() <= 0) {
|
file = null;
|
} else {
|
InputStream ins = null;
|
ins = file.getInputStream();
|
toFile = new File(file.getOriginalFilename());
|
inputStreamToFile(ins, toFile);
|
ins.close();
|
}
|
return toFile;
|
}
|
|
//获取流文件
|
private static void inputStreamToFile(InputStream ins, File file) {
|
try {
|
OutputStream os = new FileOutputStream(file);
|
int bytesRead = 0;
|
byte[] buffer = new byte[8192];
|
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
|
os.write(buffer, 0, bytesRead);
|
}
|
os.close();
|
ins.close();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 删除本地临时文件
|
* @param file
|
*/
|
public static void delteTempFile(File file) {
|
if (file != null) {
|
String name = file.getName();
|
File del = new File(file.toURI());
|
if (del.delete()){
|
log.info("删除临时文件"+name+"成功!");
|
}else {
|
log.error("删除临时文件"+name+"失败!");
|
}
|
}
|
}
|
|
}
|