인프런 커뮤니티 질문&답변

redtree님의 프로필 이미지
redtree

작성한 질문수

코틀린 기반 안드로이드 앱개발 고급 3단계

서버로 데이터 전달하기

server에서 이미지를 받는데 에러나 나서 업로드가 불가합니다.

작성

·

520

0

예제와 동일하게 따라하는데 다음과 서버에서 아래와 같은 에러가 나오고 있네요 

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

request를 받는데는 문제가 없으며 request에서 받은 데이터 타입은 multipart/mixed; boundary=5b0bb2e2-e6b2-47ab-a8de-fff4aace9d8f과 같이 뜨는 것으로 확인됩니다.

multipart로 동일한 코드로 작성하여 올렸는데 다음과 같은 에러가 발생하여서 다음으로 진행할 수가 없네요

답변 2

0

redtree님의 프로필 이미지
redtree
질문자

client Thread는 다음과 같이 작성되었습니다.

var client = OkHttpClient()
var request_builder = Request.Builder()
var url = request_builder.url("http://172.30.1.18:8080/MobileServer/upload.jsp")

var multipart_Builder = MultipartBody.Builder()
var file = File(pic_path)
multipart_Builder.addFormDataPart("mobile_img",file.name,RequestBody.create(MultipartBody.FORM, file))

var body = multipart_Builder.build()
var post = url.post(body)
var request = post.build()

client.newCall(request).execute()

server 코드는 다음과 같이 작성되었습니다.

<%@ page import="com.oreilly.servlet.*" %>

<%@ page import="com.oreilly.servlet.multipart.*" %>

<%@ page import="com.oreilly.servlet.MultipartRequest"%>

<%

request.setCharacterEncoding("utf-8");

String path = getServletContext().getRealPath("upload");

System.out.println(path);

int max = 1024 * 1024 * 100;

DefaultFileRenamePolicy policy = new DefaultFileRenamePolicy();

System.out.println(request.getContentType());

new MultipartRequest(request, path,max,"multipart/form-data",policy);

%>

0

소프트캠퍼스님의 프로필 이미지
소프트캠퍼스
지식공유자

Content Type이 multipart/form-data가 아닌 multipart/mixed로 인식하는 것 같습니다. 작성하신 코드를 올려주시면 답변에 도움이 될것같습니다.

redtree님의 프로필 이미지
redtree

작성한 질문수

질문하기