Spring文件上传 – 获得预期的MultipartHttpServletRequest:是否配置了MultipartResolver? 错误
我正在尝试使用angular-file-upload在我的Angular Web应用程序中合并多个文件上传function。 目前,前端function有效,但每次上传尝试都会抛出一个
java.lang.IllegalStateException,java.io.IOException]: java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?
例外。
上传控制器定义为
@Controller @PropertySource("classpath:application.properties") public class FileUploadController { @Resource private Environment env; @RequestMapping(value = "/fileupload", method = RequestMethod.POST) @ResponseBody public List fileUpload(@RequestParam("file") MultipartFile[] uploadFiles) throws IllegalStateException, IOException { //file processing logic } }
在我的AppConfig.java
类中,我声明了bean
@Bean public CommonsMultipartResolver commonsMultipartResolver(){ CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); commonsMultipartResolver.setDefaultEncoding("utf-8"); commonsMultipartResolver.setMaxUploadSize(50000000); return commonsMultipartResolver; }
并启动Web应用程序
@Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(AppConfig.class); servletContext.addListener(new ContextLoaderListener(ctx)); ctx.setServletContext(servletContext); ctx.refresh(); Dynamic servlet = servletContext.addServlet(SERVLET_NAME, new DispatcherServlet(ctx)); servlet.addMapping("/"); servlet.setLoadOnStartup(1); //servlet.setMultipartConfig(ctx.getBean(MultipartConfigElement.class)); }
我不认为这是由于我的Angular视图中缺少