2017-09-16 1 views
0

파일을 업로드하려고하는데 Required MultipartFile parameter 'file' is not present 입니다. 여기파일을 업로드 할 때 'file'이 (가) 존재하지 않습니다.

내 코드 : 여기

<form id="uploadrecords" method="post" enctype="multipart/form-data">      
<div class="col-md-12"> 
<div class="form-group" style="margin-top: 11px !important;"> 
<label for="uploadfile" class="col-md-4 control-label"><span class="mandatory"></span>File to upload:</label> 
<div class="col-md-6"> 
<input type="file" class="filestyle" data-buttonName="btn-primary" name="file" id="upload" accept="*"/> 
</div> 
</div> 
<div class="form-actions" style="margin-top: 51px;margin-left: 358px;"> 
<button type="submit" class="btn btn-success" style="padding: 6px 12px;" id="upload" ><i class="fa fa-cloud-upload"></i> Upload</button> 
<button type="button" class="btn btn-danger" style="padding: 6px 12px;" id="cancel" ><i class="fa fa-ban"></i> Cancel</button> 
</div> 
</div> 
</form> 

jQuery 코드 :

$("form#uploadrecords").submit(function(){         
    var formData = new FormData($(this)[0]);          
    $.ajax({ 
    url : '/uploadfile', 
    type: 'POST', 
    data: formData, 
    async: false, 
    beforeSend: beforeSendHandler, 
    success: function (data) { 
    var msg=data.msg; 
    var obj=data.obj; 
    if(obj != 0){ 
    $("#countfail").html(obj); 
    $("#download-modal").modal('show'); 
    }else{ 
    bootbox.alert(msg); 
    } 
    }, 
    cache: false, 
    contentType: false, 
    processData: false 
    }); 
}); 

자바 코드 :

@RequestMapping(value = "/uploadfile", headers = "Content-Type=multipart/form-data", method = RequestMethod.POST) 
public @ResponseBody StatusResponse upload(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, 
     HttpServletResponse response) throws IOException, NoSuchFieldException, SecurityException, ParseException { 
    StatusResponse sr = new StatusResponse(); 
    System.out.println("filename::::" + file.getOriginalFilename()); 
    //my logic here 
    return sr; 
} 

그것은 컨트롤러 클래스를 타격하지 않습니다. Firebug console에 오류가 있습니다.

나는 과 jboss-eap-6.4을 사용하고 있습니다.

내 코드가 잘못되었습니다. 이 문제를 해결하는 방법? 당신이 @EnableAutoConfiguration를 사용하는 경우

+0

[multipartResolver] (https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/multipart/MultipartResolver.html) bean을 추가 했습니까? –

+0

@Manoj Suthar : 어디에 추가할까요? webconfig 또는 websecurity 구성에서? – Durga

답변

0

여기에서 논의 된 바와 같이 다음 다음을 수행해야 https://github.com/spring-projects/spring-boot/issues/2958

@EnableAutoConfiguration (제외 = {MultipartAutoConfiguration.class}) 다음 콩을

@Bean (이름을 정의 = "multipartResolver") public CommonsMultipartResolver commonsMultipartResolver() {CommonsMultipartResolver resolver = new CommonsMultipartResolver(); resolver.setMaxUploadSize (50 * 1024 * 1024); 반환 해결 자; }

@Bean @Order (0) public MultipartFilter multipartFilter() {MultipartFilter multipartFilter = new MultipartFilter(); multipartFilter.setMultipartResolverBeanName ("multipartResolver"); return multipartFilter; }

관련 문제