1要求 上傳時把文件重命名,下載時還原其上傳時的文件名
兩種實現方法:
1.把原文件名存入數據庫中
2.把原文件名保存到,原本的名字中(新建.doc - > as1asd21sd34新建.doc)
windows的文件名默認能保存170多個文字節,想來Linux也不會太少
實現代碼:
package com.demo.utils;
import java.util.UUID;
public class FileUtils {
public static String getOriginalFilename(String filename) {
if (filename != null && filename.length() > 32) {
return filename.substring(32, filename.length());
}
return null;
}
public static String FileRename(String filename) {
if ((filename != null) && (filename.length() > 0)) {
String name = UUID.randomUUID().toString().replaceAll("-", "");
int dot = filename.lastIndexOf('.');
if ((dot >-1)) {
return name+ filename.substring(0, dot)+filename.substring(dot);
}
}
return null;
}
public static void main(String[] args) {
String rename = FileUtils.FileRename("新建文件.doc");
System.out.println(rename);
System.out.println(FileUtils.getOriginalFilename(rename));
}
}