使用MultipartFile在Spring Boot中无法上传多个文件,从JSP中获取Controller中的空数组

我正在使用MultipartFile上传多个文件。 但是当我从Jsp页面选择多个文件并单击提交时,我在控制器中得到空数组。

这是我的代码片段,

在pom.xml中

 commons-fileupload commons-fileupload 1.3.3  

CommonsMultipartResolver Bean配置。

  @Bean public CommonsMultipartResolver multipartResolver() { CommonsMultipartResolver resolver=new CommonsMultipartResolver(); resolver.setDefaultEncoding("utf-8"); resolver.setMaxUploadSize(999999999); return resolver; } 

JSP代码

 



Select User ${user.userName}

控制器代码

 @PostMapping(value = "/createRequest") public ModelAndView createRequest(@RequestParam("fileUpload") MultipartFile[] fileUpload, @RequestParam("userDirectory") String userDirectory) throws IOException { log.info("In createRequest method"); if (fileUpload != null && fileUpload.length > 0) { Flow not coming here because fileUpload.length coming zero. } return new ModelAndView("success"); } 

在控制器中,fileUpload.length从JSP页面变为零。 任何帮助都会得到满足,谢谢。

 private void initMultipartResolver(ApplicationContext context) { try { this.multipartResolver = ((MultipartResolver)context.getBean("multipartResolver", MultipartResolver.class)); if (this.logger.isDebugEnabled()) { this.logger.debug("Using MultipartResolver [" + this.multipartResolver + "]"); } } catch (NoSuchBeanDefinitionException ex) { this.multipartResolver = null; if (this.logger.isDebugEnabled()) this.logger.debug("Unable to locate MultipartResolver with name 'multipartResolver': no multipart request handling provided"); } } 

添加此配置,使用此配置,任何带有enctype的请求作为multipart / form-data将由multipartResolver处理,然后再传递给Controller类。