package com.yuezhu.utils;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class UploadUtil {
private static SimpleDateFormat simpleDF = new SimpleDateFormat("yyyyMMddHHmmssSSS");
private static Random rand = new Random();
// 上传
public static String upload(String fileNameOver , MultipartFile file , String path) {
if (file.isEmpty()) {
return "";
}
// 获取文件名
String fileName = file.getOriginalFilename();
//logger.info("上传的文件名为:" + fileName);
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//logger.info("上传的后缀名为:" + suffixName);
// 文件上传后的路径
String filePath = path;
// 解决中文问题,liunx下中文路径,图片显示问题
// fileName = UUID.randomUUID() + suffixName;
// 获得随机产生的文件名
String prev = simpleDF.format(new Date())+rand.nextInt(10000000);
File dest ;
if (StringUtils.isNotBlank(fileNameOver)){
dest = new File(filePath + fileNameOver + suffixName);
}else{
dest = new File(filePath + prev + suffixName);
}
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
try {
file.transferTo(dest);
// 返回生成的文件名
return prev + suffixName;
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
}