今天学习了一个springMVC框架中实现文件上传的操作(该项目为maven),一下为我的课程总结:
目录
1-导入依赖
<!-- 文件上传-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
两个jar包分别是:文件上传使用 Apache Commons FileUpload 组件,需要导入 commons-io-2.4.jar 和 commons-fileupload-1.2.2.jar 两个 jar 文件(可在 Apache 官网下载)。
注意:依赖必须加载到web下的lib文件中,否则会报错。
2-配置MultipartResolver
在springMVC-servlet.xml文件中配置:
<!-- 文件上传:配置MultipartResolver,使用spring的CommonsMultipartResolver-->
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
<!-- defaultEncoding:请求的编码格式,默认为 ISO-8859-1,此处设置为 UTF-8(注:defaultEncoding 必须和 JSP 中的 pageEncoding 一致,以便正确读取表单的内容)。-->
<property name="defaultEncoding" value="UTF-8"/>
<!-- maxUploadSize:上传文件大小上限,单位为字节。-->
<property name="maxUploadSize" value="500000"/>
</bean>
MultipartResolver接口处理文件上传的数据,操作方便,他的两个实现类是:
- StandardServletMultipartResolver:使用了servlet 3.0 标准的上传方式。
- CommonsMultipartResolver:使用了Apache的Commons-fileupload来完成文件上传的操作。
MultipartResolver接口具有以下常用方法:
名称 | 作用 |
---|---|
String getOriginalFileName() | 返回客户端提交的原始文件名 |
void transferTo(File destination) | 将上传的文件保存到目标目录下 |
boolean isE |