SpringMVC提供了一个MultipartResolver接口用来实现文件上传,并使用Commons FileUpload技术实现了一个该接口的实现类CommonsMultipartResolver。如果要在SpringMVC中实现文件上传功能,就可以在springmvc.xml中配置MultipartResolver接口的实现类。
以下是使用SpringMVC实现文件上传的具体步骤:
①导入JAR包:
使用SpringMVC实现文件上传,需要额外导入以下2个JAR包:
commons-fileupload-1.2.1.jar
commons-io-2.0.jar
②在SpringMVC配置文件中,配置MultipartResolver接口的实现类
springmvc.xml
复制
…
class="org.springframework.web.multipart.
commons.CommonsMultipartResolver">
需要注意,这个bean的id值必须是multipartResolver。DispatcherServlet在Web服务启动时,会自动查找id=”multipartResolver”的Bean,并对其进行解析。如果id值不是multipartResolver, DispatcherServlet就会忽略对此Bean的解析,也就无法加入SpringMVC对文件上传的支持。
CommonsMultipartResolver中属性的介绍如下:
属性
简介
defaultEncoding
指定解析request请求的编码格式。
uploadTempDir
指定上传文件时的临时目录,默认是Servlet容器的临时目录。文件上传完毕时,临时目录中的临时文件会被自动清除。
maxUploadSize
设置上传文件的最大值,单位是字节。默认是-1,表示无限制。
maxInMemorySize
设置在文件上传时,允许写到内存中的最大值,单位是字节,默认是10240字节。
③编写请求处理方法,实现文件上传
请求处理类:SecondSpringDemo.java