2010-09-26 28 views
1

Je suis en train de télécharger une image depuis android vers un serveur PHP en utilisant MultiPartEntity mais j'ai du mal à trouver la source du problème, le téléchargement progresse sans fournir de réponse voici mon code:Téléchargement d'une image depuis android vers un serveur PHP

public String postFunction(String s_v1, String s_v2, String s_v3) 
throws ParseException, ClientProtocolException, IOException { 

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(s_v1); 

//required apache-mime4j-0.6, et httpmime-4.0.3 
MultipartEntity mp = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

mp.addPart("choix", new StringBody("2")); 
boolean exists = (new File("/data/data/my.package/files/avatar.jpg")).exists(); 
if (!exists){ 

    Log.i(TAG,"no file"); 

} 
else 
{ 
File tempImg = new File("/data/data/my.package/files/avatar.jpg"); 
FileBody bin = new FileBody(tempImg, "image/jpg"); 
mp.addPart("photo_r", bin); 
} 
mp.addPart("myString1", new StringBody(s_v2, Charset.forName("UTF-8"))); 
mp.addPart("myString2", new StringBody(s_v3, Charset.forName("UTF-8"))); 

httppost.setEntity(mp); 
Log.i(TAG,"start "); 
HttpResponse response = httpclient.execute(httppost); 
Log.i(TAG,"end"); 
return response; 
} 

Je ne sais pas où est le problème !! merci beaucoup;)

+0

cela fonctionne quand je supprime la section de transfert de fichier, la déclaration de fichier est-elle correcte ?? aidez-moi s'il vous plaît !! –

Répondre

1

problème résolu, c'était à cause de ma connexion Internet bas, maintenant j'essaie de limiter le temps de connexion avec SocketTimeoutException qui est généré dans l'émulateur, mais malheureusement pas dans mon téléphone acer liquide!