import com.aliyun.et.industry.pangang.common.consts.Configs;
import com.aliyun.et.industry.templateboot.common.util.CodeUtil;
import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
/**
* @Auther: liyue
* @Date: 2019/10/12 10:26
* @Description: 文件上传工具类
*/
public class UploadUtil {
private static String PATH = "/Users/leyili/Desktop/file_test";
private static String RULE = "_rule_";
/**
* 上传一个文件,返回file对象
*
* @param files
* @return
* @throws Exception
*/
public static File uploadReturnFile(MultipartFile[] files) throws Exception {
File finalFile = null;
String filePath = generatePath();
for (MultipartFile file : files) {
if (!file.isEmpty()) {
FileUtils.deleteDirectory(new File(filePath));
File drectory = new File(filePath);
if (!drectory.exists()) {
drectory.mkdir();
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
file.transferTo(dest);
finalFile = dest;
break;
}
}
return finalFile;
}
/**
* 上传一个文件,返回文件绝对路径
*
* @param files
* @return
* @throws Exception
*/
public static String uploadReturnPath(MultipartFile[] files) throws Exception {
String finalPath = null;
String filePath = generatePath();
for (MultipartFile file : files) {
if (!file.isEmpty()) {
FileUtils.deleteDirectory(new File(filePath));
File drectory = new File(filePath);
if (!drectory.exists()) {
drectory.mkdir();
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
file.transferTo(dest);
finalPath = dest.getPath();
break;
}
}
return finalPath;
}
/**
* 上传之后删除文件
*
* @param filePath
*/
public static void delete(String filePath) {
try {
FileUtils.deleteDirectory(getDirectory(filePath));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 上传之后删除文件
*
* @param file
*/
public static void delete(File file) {
String filePath = file.getPath();
try {
FileUtils.deleteDirectory(getDirectory(filePath));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取临时文件夹对象
*
* @param filePath
* @return
*/
private static File getDirectory(String filePath) {
String[] paths = filePath.split(RULE);
return new File(paths[0] + RULE + paths[1] + RULE + "/");
}
/**
* 生产临时路径
*
* @return
*/
private static String generatePath() {
return PATH + "/" + RULE + CodeUtil.generateRandomString(6) + RULE + "/";
}
}
依赖 :
CodeUtil : https://blog.csdn.net/Lxinccode/article/details/102516162
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>