title: How use multipart/form-data upload picture/image on Android
body: <p>This is my code.</p>
  
  <p>I got Http 400 error, can someone help me?</p>
  
  <pre><code>HttpClient   httpClient;
  HttpPost     httpPost;
  HttpResponse response;
  HttpContext  localContext;
  FileEntity   tmp = null;   
  String       ret = null;
  
  httpClient = new DefaultHttpClient( );
  httpClient.getParams().setParameter( ClientPNames.COOKIE_POLICY, CookiePolicy.RFC_2109) ;
  
  httpPost = new HttpPost(url);
  tmp      = new FileEntity( data,"UTF-8" );
  
  httpPost.setEntity( tmp );
  httpPost.setHeader( "Content-Type", "multipart/form-data" );
  httpPost.setHeader( "access_token", facebook.getAccessToken( ) );
  httpPost.setHeader( "source",       data.getAbsolutePath( ) );
  httpPost.setHeader( "message",      "Caption for the photo" );
  
  localContext = new BasicHttpContext( );
  response     = httpClient.execute( httpPost,localContext );
  </code></pre>
  
  <hr>
  
  <p>bobince, thanks this is my new id, I will try put OAuth to my connection header.</p>
  
  <p>And this is my old code, I will update it soon.</p>
  
  <pre><code>private void uploadPicture( ) throws ParseException, IOException {
      HttpClient httpclient = new DefaultHttpClient();
      httpclient.getParams( ).setParameter( CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1 );
  
      HttpPost httppost = new HttpPost( "https://graph.facebook.com/me/photos" );
      File file = new File( sdpicturePath );
  
      // DEBUG
      Log.d( "TSET", "FILE::" + file.exists( ) ); // IT IS NOT NULL
      Log.d( "TEST", "AT:" + fbAccessToken ); // I GOT SOME ACCESS TOKEN
  
      MultipartEntity mpEntity  = new MultipartEntity( );
      ContentBody cbFile        = new FileBody( file, "image/png" );
      ContentBody cbMessage     = new StringBody( "TEST TSET" );
      ContentBody cbAccessToken = new StringBody( fbAccessToken );
  
      mpEntity.addPart( "access_token", cbAccessToken );
      mpEntity.addPart( "source",       cbFile        );
      mpEntity.addPart( "message",      cbMessage     );        
  
      httppost.setEntity( mpEntity );
  
      // DEBUG
      System.out.println( "executing request " + httppost.getRequestLine( ) );
      HttpResponse response = httpclient.execute( httppost );
      HttpEntity resEntity = response.getEntity( );
  
      // DEBUG
      System.out.println( response.getStatusLine( ) );
      if (resEntity != null) {
        System.out.println( EntityUtils.toString( resEntity ) );
      } // end if
  
      if (resEntity != null) {
        resEntity.consumeContent( );
      } // end if
  
      httpclient.getConnectionManager( ).shutdown( );
  } // end of uploadPicture( )
  </code></pre>