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

Volley multipart 질문!!

0 추천
Activity.java

public void imageUpload(File file) {
     volleyer(VolleySingleton.getInstance(this).getRequestQueue())
       .post(BaseURI.UpdateProfileImage)
       .addFilePart("uploadFile", file)
       .withListener(new Listener<String>() {
                  @Override
                  public void onResponse(String response) {
                   Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();
                  }
              })
              .withErrorListener(new ErrorListener() {
                  @Override
                  public void onErrorResponse(VolleyError error) {
                   Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_LONG).show();
                  }
              })
       .execute();
    }

upload_image.jsp

<%@page import="java.util.Enumeration"%>
<%@page import="java.io.File"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%
 request.setCharacterEncoding("UTF-8");
 
 String saveFolder = "경로";
 String encType = "UTF-8";
 int maxSize = 10*1024*1024;//5MB
 
 try{
  MultipartRequest multi = 
    new MultipartRequest(request, saveFolder, 
     maxSize, encType,
          new DefaultFileRenamePolicy());
 }catch(Exception e){
  e.printStackTrace();
 }
%>

error log

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)
 at org.apache.jsp.update_005fprofile_005fimage_jsp._jspService(update_005fprofile_005fimage_jsp.java:72)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 at java.lang.Thread.run(Unknown Source)

volley exclusions의 volleyer로 multipart를 구현중인데

jsp폼으로 돌렸을때는 업로드가 잘되는데 volley로 구현한 안드로이드에서는 IOException이 뜨네요

도와주세요 ㅠㅠ

 

 

 

규환 (120 포인트) 님이 2015년 5월 23일 질문

1개의 답변

0 추천
위에 보면 contentType이 "text/html" 로 되어 있는데 이걸  multipart/form-data로 바꿔야 하는것 아닌가요?
Gradler (109,780 포인트) 님이 2015년 5월 27일 답변
해봐도 안되네요 ㅠㅠ ......
...