springmvc 文件上传

来源:互联网 发布:生化危机5 知乎 编辑:程序博客网 时间:2024/06/14 22:57
Springmvc 实现文件上传的三种途径:
这篇文章是基于Intellij的maven项目;

导入jar包:
<dependency>
<groupId>com.liferay</groupId>
<artifactId>org.apache.commons.fileupload</artifactId>
<version>1.2.2.LIFERAY-PATCHED-1</version>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.io</artifactId>
<version>2.4</version>
</dependency>


之后,配置springmvc.xml使其支持文件上传操作;
<!--设置文件上传-->
<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<propertyname="maxUploadSize">
<value>5242880</value>
</property>
<propertyname="defaultEncoding">
<value>UTF-8</value>
</property>
<propertyname="uploadTempDir">
<value>fileUpload/temp</value>
</property>
</bean>

其中配置的property可以配置多种:
defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1
maxUploadSize="5400000" 是上传文件的大小,单位为字节
uploadTempDir="fileUpload/temp" 为上传文件的临时路径



1. 最普通的方式:

对应的java文件中所用到的方法的含义:
String getContentType()//获取文件MIME类型
InputStream getInputStream()//后去文件流
String getName() //获取表单中文件组件的名字
String getOriginalFilename() //获取上传文件的原名
long getSize()  //获取文件的字节大小,单位byte
boolean isEmpty() //是否为空
void transferTo(File dest) //保存到一个目标文件中。

2. form标签下,然后通过ajax

具体涉及到jquery和dom对象的相互转换可参考:http://blog.csdn.net/avenccssddnn/article/details/8566131

对应的表单的内容:


3. 任意标签下实现:
div标签下的内容
对应的Js: