title: Android HttpClient Post File MultipartEntity
body: <p>I am trying to upload an image from an Adroid app to a php webserver using HttpClient and MultipartEntity.</p>
  
  <p>Here is a snippet of my code :</p>
  
  <pre><code>protected Void doInBackground(Void... params) {
      HttpClient client = new DefaultHttpClient();
      client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
  
      HttpPost post = new HttpPost( "http://URL/upload.php" );
  
      try {
          MultipartEntity entity = new MultipartEntity(  );
          entity.addPart("type", new StringBody("photo"));
          entity.addPart("data", new FileBody(new File (this.path)));         
          post.setEntity(entity);
          post.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);             
          post.addHeader( "Content-Type", "multipart/form-data; ");
  
          HttpResponse response = client.execute(post);
          HttpEntity resEntity = response.getEntity();
  
          System.out.println(response.getStatusLine());
  
          client.getConnectionManager().shutdown();
      } catch (UnsupportedEncodingException e) {          
          e.printStackTrace();
      } catch (ClientProtocolException e) {           
          e.printStackTrace();
      } catch (IOException e) {           
          e.printStackTrace();
      }
  
      return null;
  }
  </code></pre>
  
  <p>in the php file I've added print_r($_FILE) to see the content of the Array, and it's showing an empty array.</p>
  
  <p>LogCat is showing the following after executing the HttpClient</p>
  
  <pre><code>06-17 14:54:03.908: I/System.out(1256): HTTP/1.1 200 OK
  06-17 14:54:03.998: D/111(1256): Array
  06-17 14:54:03.998: D/111(1256): (
  06-17 14:54:03.998: D/111(1256): )
  06-17 14:54:04.068: D/dalvikvm(1256): GC_CONCURRENT freed 200K, 12% free 2559K/2900K, paused 96ms+5ms, total 161ms
  </code></pre>
  
  <p>Can anybody tell me what I have to add to the Android code ?</p>