inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

서버로 데이터 전달하기

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

478

redtree

작성한 질문수 7

0

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()

client쪽은  에러 메세지가 다음과 같이 뜹니다.

E/eglCodecCommon: GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for device_type=5, ret=-1

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,"utf-8",policy);

%>

서버쪽 에러는 다음과 같이 뜨고 있습니다.

Stacktrace:

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:505)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

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

at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:130)

at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:94)

at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:219)

at org.apache.jsp.upload_jsp._jspService(upload_jsp.java:138)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)

... 25 more

kotlin android

답변 1

0

소프트캠퍼스 윤재성

버전 차이 때문인 것으로 생각됩니다.

https://codechacha.com/ko/android-q-scoped-storage/

아래 링크에 앱 업데이트 부분을 보면 targetSDK 설정에 관한 내용이 나옵니다.

이 부분을 보시고 버전을 조정해보시기 바랍니다.

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

27

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

20

1

혹시 강의 내용하면서 실습했던 것을 개인 깃에다 올려도 될까요?

0

12

1

안드로이드 조직 계정 수익 인증 관련

0

30

2

아무도 모르게 책 내시면 모르실 줄 알고!!

1

40

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

56

1

스크립트에 대해 질문 있습니다.

1

50

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

51

1

AdMob 계정 승인이 1개월 이상 지연되고 있습니다. 앱 검토와 순서가 어떻게 되는 건가요

0

85

2

구글 플레이 API 업데이트 관련 문의

0

64

2

예전 로드맵과 현재 강의 순서

0

40

1

소스 코드 좀 올려주세요.

0

49

2

개념과 격벽에 대한 이해를 팀과 공유하고 합의하는 방법

1

85

2

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

0

242

1

실무에서는 액션바보다 툴바를 더 많이 쓰나요?

0

320

1

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

0

760

2

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

0

242

1

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

0

652

2

manifest provider 코드 오류

0

215

1

앨범에서 사진가져오기 android 10.0 Q 버전에서는 안됩니다.

0

353

1

okhttp api사용에서 callback함수 오류

0

1088

2

FCM 강좌들으며 하는 도중에 JSP 오류가 발생하는데 답변부탁드립니다!

0

325

1

강의자료가 갑자기 없어졌어요

0

185

1

강의 내용 그대로 따라하고 실습해보았는데 가상머신이 강제종료됩니다

0

241

1