2016-06-26 2 views
0

내 컴퓨터의 한 위치에 이미지 파일을 Spring MVC로 업로드하려고합니다. 하지만 파일을 선택하면 NullPointerException 오류가 발생합니다. 여기 내 코드가있다;스프링 MVC 파일 null 다중 파트 데이터 업로드

@RequestMapping("/save-product") 
public void saveFile(HttpServletRequest servletRequest, 
     @ModelAttribute("uploadedFile") UploadedFile uploadedFile, 
     BindingResult bindingResult, Model model) { 

    MultipartFile multipartFile = uploadedFile.getMultipartFile(); 
    String fileName = multipartFile.getOriginalFilename(); 
    try { 
     File file = new File(servletRequest.getServletContext().getRealPath("/home/mesud/springupload/"), fileName); 
     multipartFile.transferTo(file); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 


<sf:form enctype="multipart/form-data" modelAttribute="uploadedFile"> 
       <fieldset > 
       <legend>Resim Yükle</legend> 
       <div id='progressBar' 
        style='height: 20px; border: 2px solid green; margin-bottom: 20px'> 
        <div id='bar' style='height: 100%; background: #33dd33; width: 0%'> 
        </div> 
       </div> 
       <input type="file" id=profilResim value="Profil Resmi" style="margin-bottom: 20px"/><br/> 
       </fieldset> 
</sf:form> 

자바 스크립트로 onSelect 기능으로 파일을 업로드하고 있습니다. 여기 내 자바 스크립트 메서드입니다;

function uploadNext() { 
     var xhr = new XMLHttpRequest(); 
     var fd = new FormData(); 
     var file = document.getElementById('profilResim').files[filesUploaded]; 
     fd.append("multipartFile", file); 
     xhr.upload.addEventListener("progress", onUploadProgress, false); 
     xhr.addEventListener("load", onUploadComplete, false); 
     xhr.addEventListener("error", onUploadFailed, false); 
     xhr.open("POST", "save-product"); 
     debug('uploading ' + file.name); 
     xhr.send(fd); 
    } 

내 응용 프로그램 초기화 클래스에서이 메서드는 여러 부분 요청에 사용됩니다.

@Override 
protected void customizeRegistration(Dynamic registration) { 
    registration.addMapping("/"); 
    registration.setMultipartConfig(new MultipartConfigElement("/home/mesud/springtemp",2097152, 4194304, 0)); 
} 

내 UploadedFile 개체 (이 개체에 MultipartFile 개체가 포함되어 있음)가 null로 게시되는 이유는 무엇입니까?

답변

1

몇 가지 이유가있을 수 있습니다. application-context.xml 파일에 CommonsMultiPartResolver bean을 정의한 것처럼 몇 가지 검사를 수행하십시오. 그것을 정의하지 않으면. 항아리도 확인하십시오. 당신이 commons-fileupload jar와 commons-io jar를 가지고 있는지 확인하십시오. 그게 너에게 도움이되는지 알려줘.

+0

나는 이것을 제어했습니다. 나는 CommonsMultipartResolver를 내 xml에 정의했고 commons-fileupload와 commons-io를 가지고있다. 다시 동일한 오류 :-( – emreturka

+0

질문을 편집하고 XML 파일 내용을 붙여 넣을 수 있습니까? –

+0

주석 기반 설정을 사용합니다. 질문 – emreturka

관련 문제