잠바맨
231
2018-07-12 21:58:20
4
478

[스프링] form태그에 multipart 태그만 붙이면 400 에러가 발생됩니다.


안녕하세요.


잘되던 등록 저장이 파일업로드 테스트 하려고 

form 태그에 enctype="multipart/form-data"만 붙이면 HTTP Status 400 – Bad Request 에러가 발생합니다.

빼면 다시 잘됩니다.

몇시간 이것 저것 찾아봐도 해결이 안되네요;;


pom.xml에 commons-io, commons-fileupload 모두 추가 했고, 

context에 아래처럼 리졸버도 설정 되어 있습니다.

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize" value="100000000" />

<property name="maxInMemorySize" value="100000000" />

</bean>


:::: 등록화면 ::::

<form name="testForm" id="testForm" action="" method="post" enctype="multipart/form-data">

<input type="text" name="name" />

<input type="text" name="age" />

<input type="file" name="testfile" />

</form>


:::: 컨트롤러 ::::

@RequestMapping(value="/regi.do", method=RequestMethod.POST)

public ModelAndView regBoardMst(TestVo testvo) {

log.info(" 파일업로드 작업 시작..");

ModelAndView mv = new ModelAndView("/tmp/list");

return mv;

}




0
0
  • 답변 4

  • bangbang
    302
    2018-07-12 22:02:56

    이렇게 변경해보세요.


    public ModelAndView regBoardMst(TestVo testvo, @RequestParam(value = "testfile", required = false) MultipartFile file) {
    





    0
  • 잠바맨
    231
    2018-07-12 22:31:51

    답변 감사합니다.

    말씀하신대로 추가해도 마찬가지네요..


    0
  • 시니빕니다
    156
    2018-07-12 22:39:08

    TestVO 클래스의 testfile 멤버 타입한번 확인해보세요 ~ 

    1
  • 잠바맨
    231
    2018-07-12 23:11:55

    와우~ 시니빕니다님 정말 감사합니다. (__)

    말씀하신데로

    TestVO 도메인에 private String testfile; 로 되어있었습니다ㅠㅠ

    등록 뷰단에서 file필드명을 다른이름으로 변경해서 해결했습니다.

    다시한번 감사드려요... 몇시간을 헤맷는지....



    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.