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

서버로 이미지와 텍스트 전송 문의합니다.

0 추천

안녕하세요 안드로이드와 웹서버 연동하여서 이미지와 텍스트를 전송하려고 하는데요.

HttpURLConnection의 multipart 이용해서 전송하려고하는데 텍스트 이미지하나는 잘 전송되는데 두번째 이미지 전송이 안되어서 문의 올립니다.

아래에 코드 일부 첨부합니다.

	conn = (HttpURLConnection) url.openConnection();
							conn.setDoInput(true); // Allow Inputs
							conn.setDoOutput(true); // Allow Outputs
							conn.setUseCaches(false); // Don't use a Cached Copy
							conn.setRequestMethod("POST");
							conn.setRequestProperty("Connection", "Keep-Alive");
							conn.setRequestProperty("ENCTYPE",
									"multipart/form-data");
							conn.setRequestProperty("Content-Type",
									"multipart/form-data;boundary=" + boundary);
							conn.setRequestProperty("uploaded_file",
									mfileNameList.get(i));

// 일반 텍스트 전송(String) 7
							dos.writeBytes(twoHyphens + boundary + lineEnd);
							dos.writeBytes("Content-Disposition: form-data; name=\"Name\""
									+ lineEnd);
							dos.writeBytes(lineEnd);
							dos.writeBytes(Name + lineEnd);

							// 이미지1
							dos.writeBytes(twoHyphens + boundary + lineEnd);
							dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""
									+ mfilePathList.get(i) + "\"" + lineEnd);
							dos.writeBytes(lineEnd);

							// create a buffer of maximum size
							bytesAvailable = fileInputStream.available();
							bufferSize = Math
									.min(bytesAvailable, maxBufferSize);
							buffer = new byte[bufferSize];

							// read file and write it into form...
							bytesRead = fileInputStream.read(buffer, 0,
									bufferSize);

							while (bytesRead > 0) {
								dos.write(buffer, 0, bufferSize);
								bytesAvailable = fileInputStream.available();
								bufferSize = Math.min(bytesAvailable,
										maxBufferSize);
								bytesRead = fileInputStream.read(buffer, 0,
										bufferSize);
							}

							// 이미지2
							dos.writeBytes(twoHyphens + boundary + lineEnd);
							dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file1\";filename=\""
									+ uploadFilePath
									+ uploadFileName
									+ "\""
									+ lineEnd);
							dos.writeBytes(lineEnd);

							//int bytesRead1, bytesAvailable1, bufferSize1;
							//byte[] buffer1;
							
							
							// create a buffer of maximum size
							bytesAvailable1 = fileThumbInputStream.available();
							bufferSize1 = Math
									.min(bytesAvailable1, maxBufferSize);
							buffer1 = new byte[bufferSize1];

							// read file and write it into form...
							bytesRead1 = fileThumbInputStream.read(buffer1, 0,
									bufferSize1);

							while (bytesRead1 > 0) {
								dos.write(buffer1, 0, bufferSize1);
								bytesAvailable1 = fileThumbInputStream
										.available();
								bufferSize1 = Math.min(bytesAvailable1,
										maxBufferSize);
								bytesRead1 = fileThumbInputStream.read(buffer1,
										0, bufferSize1);
							}

							dos.writeBytes(lineEnd);
							dos.writeBytes(twoHyphens + boundary + twoHyphens
									+ lineEnd);

							BufferedReader rd = null;
							rd = new BufferedReader(new InputStreamReader(
									conn.getInputStream(), "UTF-8"));

							String line = null;
							while ((line = rd.readLine()) != null) {
								Log.i("Lifeclue", line);
							}
													
							fileInputStream.close();
							fileThumbInputStream.close();
							dos.flush();
							dos.close();

서버쪽 공부하면서 해보고있는데 인터넷 찾아보면서 하다보니 어려움이 많습니다.

도움주시면 감사하겠습니다.

 

익명사용자 님이 2015년 12월 18일 질문

답변 달기

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