spring multipartFile 前台input为空时报错 20

JSP页面:<inputtype="file"id="uploadFile"name="uploadFile"/>Bean:privateMultipartFileupl... JSP页面:
<input type="file" id="uploadFile" name="uploadFile" />

Bean:
private MultipartFile uploadFile;
及get set方法

具体情况:当这个input不为空,就是我选择了文件时,不会报错;如果不选择文件,就会报错。

请高手告知如何解决,拜谢了!

Eclipse 日志报错如下:
严重: Servlet.service() for servlet spring threw exception
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'apply' on field 'uploadFile': rejected value []; codes [typeMismatch.apply.uploadFile,typeMismatch.uploadFile,typeMismatch.org.springframework.web.multipart.MultipartFile,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [apply.uploadFile,uploadFile]; arguments []; default message [uploadFile]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.web.multipart.MultipartFile' for property 'uploadFile'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.springframework.web.multipart.MultipartFile] for property 'uploadFile': no matching editors or conversion strategy found]
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:810)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
at
展开
 我来答
沙漠一粒尘土
推荐于2018-03-08 · TA获得超过136个赞
知道答主
回答量:32
采纳率:100%
帮助的人:8.3万
展开全部
把参数里的文件参数去掉,在方法体里写就不会出现这个问题,这样:MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
List<MultipartFile> uploadFiles= multipartRequest.getFiles("uploadFile");
颜龙武
2014-07-25 · 超过11用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:19.6万
展开全部
用easyui+form.js+spring mvc做编辑时,我也遇到这个问题,楼主有解决方案吗
form.js中源码
if (options.iframe || found) // options.iframe allows user to force iframe mode
fileUpload();
可以在上传页面中通过设置iframe=true,告诉jquery使用文件上传,而不是Ajax。可以解决问题
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-07
展开全部
前台做判啊,递交之前
追问
这个文件不是必填项...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guoerwo
2015-08-29
知道答主
回答量:1
采纳率:0%
帮助的人:1213
展开全部
楼主怎么解决这个问题的?我也遇到了,两天了没解决了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式