Este es mi código.Cómo usar multipart/form-data carga de imagen/imagen en Android
Recibí Http 400 error, ¿alguien puede ayudarme?
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);
bobince, gracias esta es mi nueva identificación, voy a tratar de poner OAuth a mi cabecera de la conexión.
Y este es mi código anterior, lo actualizaré pronto.
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()
algún cuerpo me ayuda ... – Joseph
Hola, ¿cómo resolvió este problema? Estoy enfrentando el mismo problema ahora. –