有两种方法
导包和上传配置自己搞;
第一种:
上传单个文件:
@RequestMapping("/addfile1") public String addfile(@RequestParam("file")MultipartFile file)throws Exception{ String path="E:/idea/_1111/src/main/webapp/statics"; String newfile=FilenameUtils.concat(path,file.getOriginalFilename()); file.transferTo(new File(newfile)); return "inputfile";
这个方法的有点就是简单快速,但缺点就是不能更改上传的文件名。原理是直接把文件改变一个储存位置。
第二种:
上传单个文件
@RequestMapping("/addfile") public String addfile(@RequestParam("file")MultipartFile file, Model model)throws Exception{ String path="E:/idea/_1111/src/main/webapp/statics"; File updatefile=new File(path); if (!updatefile.exists()){ updatefile.mkdir(); } String filename=file.getOriginalFilename(); int intt=filename.lastIndexOf("."); String str=filename.substring(intt); String newfilename= UUID.randomUUID()+str; newfilename=newfilename.replace("-",""); OutputStream out=new FileOutputStream(new File(path+File.separator+newfilename)); InputStream input=file.getInputStream(); byte [] b=new byte[1024]; int len=0; int temn=0; while ((temn=input.read())!=-1){ out.write(b,0,temn); } out.close(); input.close(); return "inputfile"; }
这种方法是把旧文件读出再写入新文件,再更改一下文件名,使用UUID伪随机。
上传多个文件
@RequestMapping("/addfile") public String addfile(@RequestParam("file")MultipartFile files[], Model model)throws Exception{ String path="E:/idea/_1111/src/main/webapp/statics"; File updatefile=new File(path); if (!updatefile.exists()){ updatefile.mkdir(); } Listlii=new ArrayList (); for(int i=0;i
可以插入多个文件。用一个file数组接收。