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 "";
}
}