通过网页表单提交至后台,其中包括图片文件以及表单数据。
之前找了很多例子出错了很久,最后总结到一个问题是后台对应对象里的属性是不能包括文件属性名的。
例:前台表单里有name,gender,age,photo这些属性,name,gender,age是“text“文本类型,photo是“file“文件类型,在后台接收的对象属性里是不能有photo这个属性名的。
具体详情可参考: http://blog.csdn.net/a1314517love/article/details/24183273
本来想自己写,发现上面这篇文章介绍的很全面。
几个注意点整理下:
1.下载相关jar包。需要引入的jar出了springMVC的jar包外,还需要引入com.springsource.org.apache.commons.fileupload-1.2.0.jar和com.springsource.org.apache.commons.io-1.4.0.jar。具体下载参考文章第一句话里有下载链接,不过还需要2分可以自行百度下载·······
2.applicationContext里需要配置:
<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->
- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <property name="defaultEncoding" value="utf-8"></property>
- <property name="maxUploadSize" value="10485760000"></property>
- <property name="maxInMemorySize" value="40960"></property>
- </bean>
3.form表单里需要加上 enctype="multipart/form-data"。例: <form enctype="multipart/form-data" >