Android 通过HTTP POST 上传图片文件

Sending images can be done using the HttpComponents libraries. Download the latest HttpClient (currently 4.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<NameValuePair> nameValuePairs) {     HttpClient httpClient = new DefaultHttpClient();     HttpContext localContext = new BasicHttpContext();     HttpPost httpPost = 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 the data                 entity.addPart(nameValuePairs.get(index).getName(), new FileBody(new File (nameValuePairs.get(index).getValue())));             } else {                 // Normal string data                 entity.addPart(nameValuePairs.get(index).getName(), new StringBody(nameValuePairs.get(index).getValue()));             }         }         httpPost.setEntity(entity);         HttpResponse response = httpClient.execute(httpPost, localContext);     } catch (IOException e) {         e.printStackTrace();     } }

你可能感兴趣的:(android,image,String,equals,download,dependencies)