2011-09-27 5 views
0

HttpPost에 대해 2 개의 엔터티를 설정할 수 있습니까? 유사 :Gzip 및 NameValuePair가있는 Android HttpPost

HttpPost post = new HttpPost("http://www.abc.com"); 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("A", 
       a)); 
     nameValuePairs.add(new BasicNameValuePair("B", b)); 
post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); 

post.setHeader("Accept-Encoding", "gzip"); 

ByteArrayEntity bae = new ByteArrayEntity(compress(json)); 

post.setEntity(bae); 
HttpResponse resp; 
resp = client.execute(post); 

나는 매개 변수와 zip 파일이 있음을 서버에 알리려고합니다.

답변

3

예 nameValuePairs를 사용하여 zip 파일을 보내고 매개 변수를 전달할 수 있습니다. 아래 링크를 클릭하면 솔루션을 얻을 수 있습니다. 이 링크에서

Android upload multi files to server via http post

http://vikaskanani.wordpress.com/2011/01/11/android-upload-image-or-file-using-http-post-multi-part/ 이미지 대신에 zip 파일의 주소를 넣습니다. 좀 더 수정해야 할 수도 있습니다.

+0

내 수정 된 링크 참조, 도움을 받으시 길 바랍니다. – amity

+0

테스트 해 보겠습니다. 감사! – Maurice

+0

링크는 약간의 조정만으로 필요한 것을 얻는 데 정말 유용했습니다. 감사합니다! – Maurice

1

아니요. 멀티 파트 엔티티가 필요하다. 상대적으로 간단한 경우 수동으로 엔코딩하거나 org.apache.http.entity.mime.MultipartEntity (Android SDK의 일부가 아님)를 사용할 수있다. 그래서 그것에 대한 여러 게시물을 '안드로이드 multipart'에 대한 검색.