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

안드로이드 멀티파트폼 에서 이미지만 전송이 안됩니다.

0 추천
아래와 같이 파일을 전송합니다.
텍스트를 보내는 것은 서버로 정상 전송되는데, 파일은 전송이 안되네요.
에러가 떨어지면 몰라도 정상 리턴이 되니..

filename 에는 파일경로가 들어갑니다.
핸드폰에 있는 사진을 올리는거니..
"\dcim\.....파일명.jpg" 이와 같이 나옵니다.
퍼미션 물론 주었고.. 서버로도 정상적으로 보내는 거 같은데.

왜 파일은 생성이 안되있을까요?

조언 구합니다.



for( Iterator<String> i = files.keySet().iterator(); i.hasNext(); ){
			String key = (String)i.next();
			String filename = String.valueOf(files.get(key));

			out = new DataOutputStream(new BufferedOutputStream(conn.getOutputStream()));
			in = new FileInputStream(filename);

			// 파일 첨부
			postDataBuilder.append(setFile(key, "aa.png"));
			postDataBuilder.append("\r\n");


			out.writeUTF(postDataBuilder.toString());

			// 파일 복사 작업 시작
			int maxBufferSize = 1024;
			int bufferSize = Math.min(in.available(), maxBufferSize);
			byte[] buffer = new byte[bufferSize];

			// 버퍼 크기만큼 파일로부터 바이트 데이터를 읽는다.
			int byteRead = in.read(buffer, 0, bufferSize);

			// 전송
			while (byteRead > 0) {
				out.write(buffer);
				bufferSize = Math.min(in.available(), maxBufferSize);
				byteRead = in.read(buffer, 0, bufferSize);
			}

			out.writeBytes(delimiter);
			out.flush();
			out.close();
			in.close();
			
		}

 

개발자초심 (21,220 포인트) 님이 2014년 7월 31일 질문

1개의 답변

0 추천

http://loopj.com/android-async-http/

이 라이브러를 사용하시는 것이 어떤가요?

File myFile = new File("/path/to/file.png");
RequestParams params = new RequestParams();
try {
    params.put("profile_picture", myFile);
} catch(FileNotFoundException e) {}

사이트에 나오는 예제코드입니다.

이러한 형식으로 간단하게 처리할 수 있어 업로드 작업에선 수월할겁니다.

SuperNova (1,000 포인트) 님이 2014년 7월 31일 답변
...