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

multipart/form-data 이미지 업로드 시 파일이 깨집니다.

0 추천

 

앱에서 php 서버로 이미지 전송작업을 하고 있습니다.

 

웹->php는 정상적으로 이미지가 등록되고,  파일도 생성되어 이미지가보이지만,

앱->php는 파일 생성은 되나 바이트크기가 달라 이미지가 손상되어버립니다.

 

mime타입을 별도로 주어 전송을 해보았지만 결과는 같았습니다.

 

이럴 경우 어느 부분을 살펴봐야 답을 찾아볼 수 있을까요?

전송이 안되는 것도 아니고, 파일도 생성되지만 바이트가 다르다... 서버쪽에서 더 많은 용량으로 생성된다라..

앱에서 형식을 잘못맞춰 전송하는 것일까요?

아래와 같이도 해보았고, 이미지 타입을 추가로 넣어 전송도 해보았습니다.

 

멀티파트를 이용하여 이미지를 정상적으로 올려보신분들께 조언을 구합니다.

 

 

"Content-Disposition: form-data; name=\"" + key
				+ "\";filename=\"" + fileName + "\"\r\n";

 

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

2개의 답변

0 추천
제 경우에는 아래와 같이 던졌었네요...1년전 코드라 ㅋ

그당시 정상적으로 서버에 이미지 전송이 되었습니다.

 

Content-Disposition: form-data; name="변수명"; filename="파일명"

Content-Type: application/octet-stream;

 

파일바이트들~~~~~~
바램 (19,650 포인트) 님이 2014년 8월 18일 답변
0 추천
서버 특성을 탈 수도 있으니.

 wireshark로 웹->php로 전송시의 패킷을 따서 동일한 형식으로 앱-> php로 전송하도록 변경하는게 좋으실 겁니다.

 

전송 코드가 어떻게 된지는 모르지만. 웹에서는 잘 된다고 하셨으니,

 php쪽은 문제가 없을 듯 하고, 보내는 쪽에서 오류가 있을 듯 합니다.

원본 파일과 서버에 올라간 파일을 byte 비교 해보세요.

마지막 부분만 더 적어져 있다면,  마지막 부분을 약간 더 읽어 더 읽는 만큼의 쓰레기 데이터가 적어 진 것이며,  그게 아니라 중간부터 다르다면, 전송 로직 자체가 잘 못 되었다고 봐야 할 듯 합니다.
사악미소 (65,330 포인트) 님이 2014년 8월 18일 답변
...