Android MultipartEntity POST recibe todo, además de FileBody

Después de leer un montón de preguntas y respuestas, he decidido utilizar MultipartEntity. Esta respuesta debe ser la mejor: https://stackoverflow.com/a/2937140/1388723

Lo he implementado:

private class SendImage extends AsyncTask<String, Void, Void> { String sresponse; @Override protected Void doInBackground(String... params) { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpPost httpPost = new HttpPost( "http://taras.xin.com.pl/loadimage.php"); InputStream in = null; try { MultipartEntity entity = new MultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE); Log.i("MultyPart", params[0]); File file = new File(params[0]); Log.i("MultyPartFILE", file.toString()); ContentBody fb = new FileBody(file, "image/jpeg"); Log.i("MultyPartFB", fb.toString()); entity.addPart("text", new StringBody( "This text was added to posrt")); entity.addPart("word", new StringBody( "This text was added to post")); entity.addPart("file", fb); httpPost.setEntity(entity); HttpResponse response = httpClient.execute(httpPost, localContext); in = response.getEntity().getContent(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader( new InputStreamReader(in, "UTF-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } in.close(); sresponse = sb.toString(); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); } return null; } @Override protected void onPostExecute(Void result) { runOnUiThread(new Runnable() { @Override public void run() { text.setText(sresponse); } }); super.onPostExecute(result); } } 

y mi loadimage.php:

  <?php var_dump($_POST); var_dump($_FILE); ?> 

Recibo dos cadenas a $ _POST, pero no hay ni siquiera sombra de FileBody (archivo). $ _FILE da null.

Para ser exactos he descargado httpcomponents-client-4.2.2-bin, extraído httpmime-4.2.2.jar.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.