springmvc初始化MultipartResolver
springmvc 在容器初始化后使用监听ContextRefreshedEvent事件来初始化DispatcherServlet
中的各种属性MultipartResolver
就是其中一个
初始化MultipartResolver
是从IOC容器里面获取一个名为multipartResolver
的MultipartResolver
的Bean
MultipartResolver
是用于处理HTTP上传文件的请求处理器
springmvc在处理文件上传时,使用MultipartResolver
把HttpServletRequest
解析包装成MultipartHttpServletRequest
对象MultipartHttpServletRequest
提供了获取MultipartFile
的方法
MultipartHttpServletRequest
接口继承了HttpServletRequest
MultipartFile
提供了获取上传的文件相关属性以及文件流的方法
在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
同样提供了两种实现
StandardMultipartHttpServletRequest
DefaultMultipartHttpServletRequest
MultipartFile
1 | public interface MultipartFile extends InputStreamSource { |
springmvc同样提供了两种实现
StandardMultipartFile
CommonsMultipartFile