spring mvc 업로드 오류 해결, Field [] isn 't an enum value, failed to convert value of type' java. lang. String [] '...

첨부 파일 을 선택 하지 않 았 지만 업로드 단 추 를 누 르 면 오류 가 발생 합 니 다.
이전 에는 파일 을 선택 하지 않 고 빈 파일 을 직접 올 려 도 되 었 는데, 나중에 무엇 을 고 쳤 는 지 모 르 면 안 되 었 다.
오류 메시지:
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

해결 방법: 업로드 하기 전에 첨부 파일 이 있 는 지 없 는 지 판단 하고 없 으 면 업로드 사건 을 실행 하지 않 습 니 다.
 
페이지 코드:
        
"saveFile" method="post" enctype="multipart/form-data">
새 첨부 파일 업로드:
"file" name="file" />
"file" name="file" />
"file" name="file" />
"file" name="file" />
"file" name="file" />
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
다음으로 전송:https://www.cnblogs.com/zhengbn/p/3601192.html

좋은 웹페이지 즐겨찾기