是否可以为HttpPost设置2个实体?像:
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文件。
答案 0 :(得分:3)
是您可以使用nameValuePairs发送zip文件并传递参数。转到下面的链接,你可能会得到你的解决方案。
http://vikaskanani.wordpress.com/2011/01/11/android-upload-image-or-file-using-http-post-multi-part/
Android upload multi files to server via http post
在此链接中将您的zip文件地址放在图像的位置。你可能需要做一些修改。
答案 1 :(得分:1)
不喜欢这样。您需要使用多部分实体,如果它相对简单,您可以手动编码,或使用org.apache.http.entity.mime.MultipartEntity(不是Android SDK的一部分)。在SO上有关于它的多篇帖子,搜索'android multipart'。