1. 程式人生 > 其它 >MultipartFile上傳附件檔名處理記錄

MultipartFile上傳附件檔名處理記錄

技術標籤:java

getOriginalFilename() 獲取原始檔名。

在chorme中獲取是檔名+字尾,在IE模式中獲取的是路徑+檔名+字尾。
如 檔案路徑 D:/temp/1.txt

chorme上傳檔案,getOriginalFilename() == “1.txt”;

IE模式上傳檔案,getOriginalFilename() ==“D:/temp/1.txt”

所以要對檔名要進行統一處理,避免檔名處理問題。

for (MultipartFile file:files) {
      String filename = file.getOriginalFilename();
// 看是否unix帶路徑格式 int unixSep = filename.lastIndexOf('/'); // 看是否win帶路徑格式 int winSep = filename.lastIndexOf('\\'); // 檢查分隔符長度 winSep == -1 && unixSep == -1 則filename不帶路徑格式 int pos = (winSep > unixSep ? winSep : unixSep); if (pos != -1) { // 只獲取分隔符後文件名
filename = filename.substring(pos + 1); } //分隔檔名 與 字尾 String[] split = filename.split("\\."); String preFilename = split[0];//檔名稱 String sufFilename = split[1];//格式字尾 ....... //儲存檔案至伺服器 file.transferTo(new File(newPath+newFileName)); }