首页 > 代码库 > android HttpClient 附带的参数
android HttpClient 附带的参数
Sending images can be done using the HttpComponents libraries. Download the latest HttpClient (currently4.0.1) binary with dependencies package and copy apache-mime4j-0.6.jar
and httpmime-4.0.1.jar
to your project and add them to your Java build path.
You will need to add the following imports to your class.
import org.apache.http.entity.mime.HttpMultipartMode;import org.apache.http.entity.mime.MultipartEntity;import org.apache.http.entity.mime.content.FileBody;import org.apache.http.entity.mime.content.StringBody;
Now you can create a MultipartEntity
to attach an image to your POST request. The following code shows an example of how to do this:
public void post(String url, List nameValuePairs) {
HttpClienthttpClient = new DefaultHttpClient();
HttpContextlocalContext = new BasicHttpContext();
HttpPosthttpPost = new HttpPost(url);
try{
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
for(int index=0; index < nameValuePairs.size(); index++) {
if(nameValuePairs.get(index).getName().equalsIgnoreCase("image")){
// If the key equals to "image", we use FileBody to transfer thedata
entity.addPart(nameValuePairs.get(index).getName(), newFileBody(new File (nameValuePairs.get(index).getValue())));
} else {
// Normal string data
entity.addPart(nameValuePairs.get(index).getName(), newStringBody(nameValuePairs.get(index).getValue()));
}
}
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost,localContext);
} catch(IOException e) {
e.printStackTrace();
}
}
这个方法目测写得不错,先留着用