springmvc + form:form 上传文件配置。
来源:互联网 发布:软件项目计划安排 编辑:程序博客网 时间:2024/06/05 11:09
前几天写了springmvc form 表单,今天在form的基础上,加 上传文件配置。
需要在,springmvc-config.xml中进行配置上传文件。
<!-- 上传文件配置 Configure the multipart resolver --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- one of the properties available; the maximum file size in bytes --><property name="defaultEncoding" value="UTF-8" /><property name="maxUploadSize" value="209715200" /><!-- 20M --><!-- 要在WebContent下建立一个upload文件夹 <property name="uploadTempDir" value="upload"/> --></bean>
在参数类中,加
private File txtFile = null;
并加上get.set 方法。
jsp 的form中,
<form:input type="file" path="txtFile"/>
后天controller就可以获取File对象了。
如果获取的 文件 名称乱码,则在web.xml中进行配置 编码Filter。
http://blog.csdn.net/u012246342/article/details/52190910
遇到一个BUG,
原因是,在参数的form中, 最开始并不是用File,而是用 import org.springframework.web.multipart.commons.CommonsMultipartFile;
的 CommonsMultipartFile,所以报错如下:
严重: Servlet.service() for servlet springmvc threw exceptionorg.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errorsField error in object 'textLoginForm' on field 'txtFile': rejected value [Editorial_流程任务库_委托创作合同审核.xlsx]; codes [typeMismatch.textLoginForm.txtFile,typeMismatch.txtFile,typeMismatch.org.springframework.web.multipart.commons.CommonsMultipartFile,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [textLoginForm.txtFile,txtFile]; arguments []; default message [txtFile]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.web.multipart.commons.CommonsMultipartFile' for property 'txtFile'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.springframework.web.multipart.commons.CommonsMultipartFile] for property 'txtFile': no matching editors or conversion strategy found]at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:818)at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:367)at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:612)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)at java.lang.Thread.run(Unknown Source)
类型错误,org.springframework.validation.BindException,类型转换错误。
0 0
- springmvc + form:form 上传文件配置。
- SpringMVC form表单 上传一个文件
- SpringMVC form表单 上传多个文件
- springmvc form 提交上传文件400
- form表单上传文件
- form表单上传文件
- Django form 文件上传
- 文件上传form内容
- Form表单文件上传
- form表单文件上传
- springmvc利用jquery.form插件异步上传文件
- JavaEE_Mybatis_SpringMVC_(通过表单form)SpringMVC的文件上传
- springMVC基于form表单上传Excel文件,导入数据
- springmvc-普通form表单提交方式实现文件上传
- Springmvc下一次选多个文件上传(一)Form提交
- springmvc结合jquery.form.js异步提交表单上传文件
- ajax上传带文件的form表单,springmvc接收
- ModelAndView + springMVC form:form
- 深入剖析MMORPG游戏服务器端的设计
- iOS开源项目
- sublime text3配置sublimelinter配合pep8和pyflakes检查python书写规范和语法
- HDU 5831 Rikka with Parenthesis II (模拟)
- Netty高性能大容量Socket并发
- springmvc + form:form 上传文件配置。
- Qt中显示复杂列表
- openlayers with Google maps 简单教程
- Unity 3D - 光源组件( Light )
- poll实现I/O多路复用
- Oracled的OCA、OCP、OCM详细介绍
- Android 开发工具集合
- #518 Super Ugly Number
- 利用PopupWindow和RecyclerView来实现头像的选择(在电视上选择头像)