SpringMVC文件上传
<!--配置支持文件上传-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--设置单个文件大小限制(byte)-->
<property name="maxUploadSizePerFile" value="#{10*1024*1024}"/>
<!--设置整个请求大小限制(byte)-->
<property name="maxUploadSize" value="#{100*1024*1024}"/>
</bean>
1 /** 2 * @Author hxy 3 * @Description 上传文件页面控制器 4 * @Date 2023/9/14 11:36 5 * @Version 1.0 6 */ 7 @Controller 8 public class UploadController { 9 /** 10 * 单文件上传 11 * @param file 12 * @param modelMap 13 * @return {@link String} 14 * @throws IOException 15 */ 16 @RequestMapping("/upload1.do") 17 public String upload1(@RequestParam("file1") MultipartFile file, ModelMap modelMap)throws IOException { 18 System.out.println(file); 19 //获取文件名 20 String originalFileName = file.getOriginalFilename(); 21 System.out.println(originalFileName); 22 //设置保存文件路径 23 String path = String.format("D:\\%s",originalFileName); 24 //创建文件实例 25 File destFile = new File(path); 26 //写文件 27 file.transferTo(destFile); 28 modelMap.addAttribute("msg","上传文件成功"); 29 return "result"; 30 } 31 32 /** 33 * 多文件上传 34 * @param file1 35 * @param file2 36 * @param modelMap 37 * @return {@link String} 38 */ 39 @RequestMapping("/upload2.do") 40 public String upload2(MultipartFile file1,MultipartFile file2,ModelMap modelMap){ 41 System.out.println(file1); 42 System.out.println(file2); 43 modelMap.addAttribute("msg","上传文件成功"); 44 return "result"; 45 } 46 47 /** 48 * 多文件文件处理(带控件) 49 * MultipartHttpServletRequest :用于获取整个表单信息 50 * @param request 51 * @param modelMap 52 * @return {@link String} 53 */ 54 @RequestMapping("/upload3.do") 55 public String upload3(MultipartHttpServletRequest request, ModelMap modelMap){ 56 //TODO:获取普通控件数据 57 System.out.println("-----------获取普通控件数据------------"); 58 //key:控件的name属性 value:控件属性值(可能有多个) 59 Map<String, String[]> parameterMap = request.getParameterMap(); 60 //遍历map 61 parameterMap.forEach((name,values) -> { 62 System.out.println(String.format("%s:%s",name, Arrays.asList(values))); 63 }); 64 //TODO:获取多文件数据 65 System.out.println("-----------获取多文件控件数据------------"); 66 //key:file控件的name属性名 value:文件数据 67 MultiValueMap<String, MultipartFile> multiFileMap = request.getMultiFileMap(); 68 multiFileMap.forEach((name,files)->{ 69 System.out.println(String.format("%s:%s",name,files)); 70 }); 71 72 modelMap.addAttribute("msg","上传文件成功"); 73 return "result"; 74 } 75 76 @RequestMapping("/upload4.do") 77 public String upload4(@ModelAttribute("msg") UserDto userDto){ 78 return "result"; 79 } 80 }