2.关于spring 文件上传
程序员文章站
2022-05-17 13:10:48
...
spring文件上传的原理
Spring mvc 为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。
Spring 使用Jakarta Commons FileUpload的技术实现了一个MulipartResolver实现类:CommonsMultipartResolver.
Spring MVC 上下文中默认没有装配MultipartResolver,因此默认情况下不能处理文件的上传工作。
如果想使用spring的文件上传功能,需要先在上下文中配置MultipartResolver
配置如下:
<bean id="multipartResolver" class="org.spring.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" //请求的编码 p:maxUploadSize="50000" // 默认大小 p:uploadTempDir="upload/temp" //上传文件的临时路径/> </bean>
Spring MVC会将上传文件绑定到MultipartFile对象中。MultipartFile提供了文件上传的方法。
但是如果文件过大,将会报错并且报错信息不友好,所以这时需要定义一个报错的页面.
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">exception</prop><!--报错页面--> </props> </property> </bean>