springmvc初始化MultipartResolver
springmvc 在容器初始化后使用监听ContextRefreshedEvent事件来初始化DispatcherServlet中的各种属性MultipartResolver就是其中一个
初始化MultipartResolver是从IOC容器里面获取一个名为multipartResolver的MultipartResolver的Bean
MultipartResolver是用于处理HTTP上传文件的请求处理器
springmvc在处理文件上传时,使用MultipartResolver把HttpServletRequest解析包装成MultipartHttpServletRequest对象MultipartHttpServletRequest提供了获取MultipartFile的方法
MultipartHttpServletRequest接口继承了HttpServletRequestMultipartFile提供了获取上传的文件相关属性以及文件流的方法
在Controller中使用MultipartHttpServletRequest更方便的处理上传文件
MultipartResolver
1 | public interface MultipartResolver { |
springmvc为MultipartResolver提供了两种实现
StandardServletMultipartResolver
使用HTTPServletRequest自带的解析文件CommonsMultipartResolver
使用apache commons-io 处理上传的文件
MultipartHttpServletRequest
1 | public interface MultipartHttpServletRequest extends HttpServletRequest, MultipartRequest { |
1 | public interface MultipartRequest { |
MultipartHttpServletRequest提供了对于上传文件的快捷访问的方法
springmvc对于MultipartHttpServletRequest同样提供了两种实现
StandardMultipartHttpServletRequestDefaultMultipartHttpServletRequest
MultipartFile
1 | public interface MultipartFile extends InputStreamSource { |
springmvc同样提供了两种实现
StandardMultipartFileCommonsMultipartFile
