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使其支持文件上传操作;
<!--
设置文件上传
-->
<
bean
id
="multipartResolver"
class
="org.springframework.web.multipart.commons.CommonsMultipartResolver"
>
<
property
name
="maxUploadSize"
>
<
value
>
5242880
</
value
>
</
property
>
<
property
name
="defaultEncoding"
>
<
value
>
UTF-8
</
value
>
</
property
>
<
property
name
="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.youkuaiyun.com/avenccssddnn/article/details/8566131
对应的表单的内容:
3. 任意标签下实现:
div标签下的内容
对应的Js: