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