为了解决我们上传代码时很可能会造成所有上传的代码都在一个文件夹下,我们可以采取分文件夹的存储方式
SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");
// 拼接路径
String basePath = ServletActionContext.getServletContext().getRealPath("/WEB-INF/upload_files");
String subPath = sdf.format(new Date());
String path = basePath + subPath + UUID.randomUUID(); // 使用UUID解决文件重名的问题
// 如果文件夹不存在,则创建
File dir = new File(basePath + subPath);
if (!dir.exists()) {
dir.mkdirs();
}
// 移动文件
upload.renameTo(new File(path)); // 重命名文件或移动文件. 当目录文件已存在或目录文件夹不存在时,移动不成功,会返回false
return path;