文件上传2

 1 @Controller
 2 public class UploadFileController {
 3     //上传文件
 4     @ResponseBody
 5     @RequestMapping(value = "/uploadFile")
 6     public String uploadFile(HttpServletRequest request,@Param("file") MultipartFile file) throws IOException {
 7         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");
 8         String res = sdf.format(new Date());
 9         //服务器上使用
10        // String rootPath =request.getServletContext().getRealPath("/resource/uploads/");//target的目录
11         //本地使用
12         String rootPath ="/Users/liuyanzhao/Documents/uploads/";
13         //原始名称
14         String originalFilename = file.getOriginalFilename();
15         //新的文件名称
16         String newFileName = res+originalFilename.substring(originalFilename.lastIndexOf("."));
17         //创建年月文件夹
18         Calendar date = Calendar.getInstance();
19         File dateDirs = new File(date.get(Calendar.YEAR)
20                 + File.separator + (date.get(Calendar.MONTH)+1));
21         //新文件
22         File newFile = new File(rootPath+File.separator+dateDirs+File.separator+newFileName);
23         //判断目标文件所在的目录是否存在
24         if(!newFile.getParentFile().exists()) {
25             //如果目标文件所在的目录不存在,则创建父目录
26             newFile.getParentFile().mkdirs();
27         }
28         System.out.println(newFile);
29         //将内存中的数据写入磁盘
30         file.transferTo(newFile);
31         //完整的url
32         String fileUrl =  "/uploads/"+date.get(Calendar.YEAR)+ "/"+(date.get(Calendar.MONTH)+1)+ "/"+ newFileName;
33         Map<String,Object> map = new HashMap<String,Object>();
34         Map<String,Object> map2 = new HashMap<String,Object>();
35         map.put("code",0);//0表示成功,1失败
36         map.put("msg","上传成功");//提示消息
37         map.put("data",map2);
38         map2.put("src",fileUrl);//图片url
39         map2.put("title",newFileName);//图片名称,这个会显示在输入框里
40         String result = new JSONObject(map).toString();
41         return result;
42     }
43 }
原文地址:https://www.cnblogs.com/yanghaoyu0624/p/12124890.html