解决spring mvc 上传报错,Field [] isn't an enum value,Failed to convert value of type 'java.lang.String[]' to required type '
没有选择附件,但是点击上传按钮的时候会报错。
之前不选择文件,直接上传空文件是可以的,后来不知道改了什么就不行了。
错误信息:
2014-03-14 17:32:40 [http-8080-1] TRACE org.springframework.beans.TypeConverterDelegate - Field [] isn't an enum value java.lang.NoSuchFieldException: at java.lang.Class.getField(Unknown Source) at org.springframework.beans.TypeConverterDelegate.attemptToConvertStringToEnum(TypeConverterDelegate.java:296) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:223) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:111) at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:461) 省略一部分………… at java.lang.Thread.run(Unknown Source) 2014-03-14 17:32:40 [http-8080-1] TRACE org.springframework.web.method.HandlerMethod - Error resolving argument [2] [type=[Lorg.springframework.web.multipart.MultipartFile;] HandlerMethod details: Controller [com.cvicin.ssm.sys.fileUpload.FileUploadClass] Method [public java.lang.String com.cvicin.ssm.sys.fileUpload.FileUploadClass.hotProductFinance_fileUpload(java.lang.String,java.lang.String,org.springframework.web.multipart.MultipartFile[],javax.servlet.http.HttpServletRequest)] org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'java.lang.String[]' to required type 'org.springframework.web.multipart.MultipartFile[]'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.springframework.web.multipart.MultipartFile]: no matching editors or conversion strategy found at org.springframework.beans.SimpleTypeConverter.convertIfNecessary(SimpleTypeConverter.java:58) at org.springframework.validation.DataBinder.convertIfNecessary(DataBinder.java:553) at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:97) at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:75) at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162) 省略一部分………… at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.springframework.web.multipart.MultipartFile]: no matching editors or conversion strategy found at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:247) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:111) at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:461) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:178) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:93) at org.springframework.beans.SimpleTypeConverter.convertIfNecessary(SimpleTypeConverter.java:49) ... 46 more
解决办法:在上传之前判断有没有附件,没有的话就不执行了上传事件了。
页面代码:
<form id="saveFile" method="post" enctype="multipart/form-data"> <div>上传新的附件:</div> <div> <input type="file" name="file" /> <input type="file" name="file" /> <input type="file" name="file" /> <input type="file" name="file" /> <input type="file" name="file" /> </div> </form>
js代码:
var fileFlag = false; $("input[name=file]").each(function(){ if($(this).val()!="") { fileFlag = true; return false; } }); if(fileFlag) { var url = "${pageContext.request.contextPath}/fileUpload/fileUpload"; $("#saveFile").ajaxSubmit({//执行上传 url:url, success:function(msg){ // } }); }
其实就是jquery选择器,遍历name = file是不是空值。
记下了,省的以后忘了。。。 o(╯□╰)o
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?