java.io.IOException: Posted content type isn't multipart/form-data
java.io.IOException: Posted content type isn't multipart/form-data
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:168)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:223)
....
...
..
.
com.oreilly.servlet.MultipartRequest 를 사용하여 파일 업로드시에 위와 같은 오류가 발생한다면???
이유는 여러가지가 있을것이기에 해결 방법도 여러가지가 있을 수 있다.
일단.. 인터넷상에서 널리 알려진 해결 방법들을 나열해보면.
1. html 코딩시 "multipart/form-data"를 담는 form 태그가 tread, tbody, caption, summary 안에 넣으면 안된다고 웹접근성 지침서에 나와있다고 한다.
<tbody>
<form id="fileUpload" enctype="multipart/form-data" method="post">
.....
</form>
</tbody>
이렇게 된 것을... 아래와 같이 수정해보고, 테스트하여 IOException 이 발생하지 않는지 체크해보면 되겠죠.
<tbody>.....
</tbody>
<form id="fileUpload" enctype="multipart/form-data" method="post">
.....
</form>
2. 파일을 업로드하기 위한 form내에 enctype="multipart/form-data" method="post" 이 반드시 정의되어 있어야 한다는 것이죠.
또한 form 태그 내부에 input type='file' 도 정의가 되어있어야 하고요.
아래처럼...
<form id="fileUpload" enctype="multipart/form-data" method="post">
<input type="file" ...>
.....
</form>
3. 마지막으로 제일 당연한 것!!!
에러의 내용 그대로. Post된 content type이 "multipart/form-data"이 아니라는 것이 요지이다.
com.oreilly.servlet.MultipartRequest 클래스를 사용하려면 Content Type이 "multipart/form-data" 이어야 하므로 이에 대한 확인을 거쳐주면 된다.
이렇게...
MultipartRequest mReq = null;
System.out.println("request getContentType : " + request.getContentType());
// ---> request getContentType : multipart/form-data; boundary=----WebKitFormBoundaryQCnDTHQWMsW1AOTC
try {
if (-1 < request.getContentType().indexOf("multipart/form-data")) {
mReq = new MultipartRequest(req,
properties.getString("mpps.admin.temp.real.path"),
1024*1024*1,
"UTF-8",
new DefaultFileRenamePolicy());
.
.
.
} // end if
} catch (IOException ie) {
ie.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
'Development > Web Develope' 카테고리의 다른 글
HTTP Header를 이용한 파일 다운로드시 한글 파일명이 깨짐 문제 해결 방법 (0) | 2019.06.16 |
---|---|
web.xml과 struts-config.xml 의 한줄 주석 (0) | 2019.06.16 |
[Spring Framework] exclude-mapping. (1) | 2019.06.14 |
javascript에서 jQuery 함수 호출하기. (0) | 2019.06.14 |
virtual host 에러페이지 설정 (0) | 2018.03.27 |
댓글