org.apache.commons.fileupload.FileUploadException 에러발생 (ajax 다중파일업로드)

반응형
728x90
반응형

org.apache.commons.fileupload.FileUploadException 에러발생

에러내용: 
Failed to parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found

 

 

스크립트

<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">
<input type="file" class="form-control" name="file" value="">

 

총 10개의 파일업로드할 input을 생성하였다.

$.ajax({
    url: '/v1/model/modelInsertSave',
    data: formData,
    type: "POST",
    contentType: false,
    processData: false,..var formData = new FormData();
    
    $file.each(function(i) {
        if ($file[i].files[0] !== undefined) {
            formData.append("files", $file[i].files[0]);
        }
});

 

new FormDate()를 사용하여 파일을 담고, 위 코드에서 data : formData를 쓴다.

 

 

 

컨트롤러

@PostMapping(value = "", headers = ("content-type=multipart/*"))
public String exam(@RequestParam ArrayList < MultipartFile > files) {
}

 

ArrayList로 받는것이 중요하다!

 

참고) List -> Array 변경하기 (포스팅 바로가기 : devfunny.tistory.com/206)

MultipartFile[] multiFiles = new MultipartFile[files.size()]; int size = 0;
for(MultipartFile file : files) {
    multiFiles[size++] = file;
}

 

반응형

Designed by JB FACTORY