마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

jsp에서 out.println();시 multipart/form-data관련 에러...

0 추천

안드로이드쪽 파일

MultipartEntity reqEntity = new MultipartEntity();
File file = new File(imgView.getTag().toString());
reqEntity.addPart("imgView", new FileBody(file));
reqEntity.addPart("email", new StringBody(email));
 
HttpPost httppost = new HttpPost(url);
httppost.setHeader("ENCTYPE", "multipart/form-data");
httppost.setHeader("Connection","Keep-Alive");
httppost.setEntity(reqEntity);
 
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();   
String responseData = EntityUtils.toString(resEntity).toString();
 
-------------------------------------
jsp 파일
 
MultipartParser mpParser = new MultipartParser(request, (10 * 1024 * 1024)); 
Part part;
 
     while ((part = mpParser.readNextPart()) != null) { //안드로이드에서 보낸 순서대로 반복문 수행. 큐 방식으로 들어옴.
     String paramName  = new String(part.getName().getBytes("8859_1"), "utf-8");
     if (part.isParam()) { // 파일이 아닐 때.(일반 텍스트형 파라미터)
        ParamPart paramPart = (ParamPart) part;
         String value = new String(paramPart.getStringValue().getBytes("8859_1"), "utf-8");           
              if("loginId".equals(paramName)){ 
                     loginId = value;
              }else if("email".equals(paramName)){ 
                     email = value;
              }
               ... 생략....
 
     }else if (part.isFile()) {
           FilePart filePart = (FilePart) part;
           String fileParamName = new String(filePart.getFileName().getBytes("8859_1"),"utf-8");
   
           if(paramName.indexOf("imgView") > -1){
                   ...이미지 db에 넣는 작업(생략)
           }
     }
     ...... 생략 .......
System.out.println("성공");
out.println("succes");

--------------------------------

이런식으로 소스가 되어있습니다.

 

안드로이드에서 jsp로 파일을 날리면 잘 받아서 db까지 잘 넣고

"성공"이라고 콘솔에 잘 찍는데 그다음 out.println()에서 

java.io.IOException: Posted content type isn't multipart/form-data

라는 에러가 뜹니다.

그리고 다시 안드로이드에 와서는 response에 succes라는 값을 잘 받아서 로그를 직어보면 보여줍니다...

저 에러는 왜 뜨는 것인가요??? 타입도 제대로 줬는데 말입니다....ㅜㅜ

Fancy (370 포인트) 님이 2013년 7월 15일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...