@PostMapping("/uploadfile")
public BaseResponse<JSONObject> uploadfile(MultipartFile file) {
JSONObject json = new JSONObject();
// 获取项目下的路劲,新建temp文件夹
String serverPath = System.getProperty("user.dir") + "/temp/";
new File(serverPath).mkdirs();
try {
//生成不会重复的id
String uuid = UUID.randomUUID() .toString();
// 获取文件后缀
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
//获取年月日文件路径
GregorianCalendar g=new GregorianCalendar();
String y_m_d=g.get(GregorianCalendar.YEAR)+"_"+(g.get(GregorianCalendar.MONTH)+1)+"_"+g.get(GregorianCalendar.DAY_OF_MONTH);
//年月日文件路径合到项目路径的temp路径下,检查有没有当天文件夹,没有就新建文件夹
File filemkdir2=new File(serverPath+"/"+y_m_d);
if (!filemkdir2 .exists() && !filemkdir2 .isDirectory()){
filemkdir2.mkdir();
}
String path1 = serverPath+"/" +y_m_d+ "/" + uuid + suffixName;
File newFile1 = new File(path1);
// 通过CommonsMultipartFile的方法直接写文件(注意这个时候)
file.transferTo(newFile1);
json.put("tempPath", "/" +y_m_d+ "/"+uuid + suffixName);
return setResultSuccess(json);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return setResultError(ResResult.UPLOAD_ERROR.getResCode(), ResResult.UPLOAD_ERROR.getResMsg());
}
会在项目下生成一个temp文件夹,然后根据日期生成文件夹,最后文件ID都是不唯一的