Ne pouvait pas trouver la classe " org.apache.http.de l'entité.le mime.contenu.Filebody', référencé à partir de la méthode
Ce que j'essaie de faire c'est d'envoyer une image à un serveur web. Quand j'ai appeler une méthode dans mon projet Android j'obtiens l'erreur suivante: impossible de trouver de la classe org.apache.http.de l'entité.le mime.contenu.Filebody', référencé à partir de la méthode com.exemple.tc.Envoyer.envoyer.
Ce qui se passe même si j'ai les importations suivantes:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.DefaultHttpClient;
C'est ce que la classe ressemble, dans laquelle la méthode est:
public class Send {
public Send(){
}
public static String send(String path) throws Exception {
String filePath = path;
String svar;
HttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httppost = new HttpPost("path to web server");
FileBody pic = new FileBody(new File(filePath));
MultipartEntity requestEntity = new MultipartEntity();
requestEntity.addPart("file", pic);
httppost.setEntity(requestEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity responseEntity = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
response.getEntity().writeTo(outstream);
byte [] responseBody = outstream.toByteArray();
svar = new String(responseBody);
System.out.println(svar);
} finally {
try {
httpclient.getConnectionManager().shutdown();
}
catch (Exception ignore) {
}
}
return svar;
}
}
Quelqu'un peut voir quel est le problème?
Avez-vous assurez-vous de l'inclure dans le java build path?
avez-vous trouvé la réponse?
Êtes-vous à l'aide de proguard ?
Ceci pourrait aider
avez-vous trouvé la réponse?
Êtes-vous à l'aide de proguard ?
Ceci pourrait aider
OriginalL'auteur Mat | 2013-05-21
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir httpmime-4.0.jar dans votre classpath. Vous pouvez (je suppose que vous faites) ont ce jar dans votre projet, mais est-il à l'intérieur de votre application en cours d'exécution?
Si je comprends bien, vous obtenez ce à partir de l'application android. Vous avez besoin d'avoir ce jar dans le classpath de votre android.
vous devez marquer ce que la bonne réponse
OriginalL'auteur Alexandros
Ajouter ces deux dépendance
OriginalL'auteur Sanjay Jain
Télécharger Apache HttpComponents fichier jar à partir de ce lien http://hc.apache.org/downloads.cgi et de créer un dossier /répertoire libs dans votre projet Android répertoire et copier le fichier JAR dans le dossier. ajouter à votre projet en Cliquant sur les propriétés du Projet pour votre projet Android, puis sélectionnez Java Build Path paramètres, sélectionnez l'onglet Bibliothèques et cliquez sur Add JAR le bouton et choisissez le jar dans le /répertoire libs.
OriginalL'auteur Srinivasan Sekar
Vous pouvez également obtenir ces fichiers à partir de l'Eclipse ADT bundle sans avoir à les télécharger séparément - voir la réponse ici:
https://stackoverflow.com/a/27906193/334402
Notez que vous obtiendrez l'erreur de l'affiche originale de pavillon, c'est à dire 'impossible de trouver de la classe org.apache.http.de l'entité.le mime.contenu.Filebody', si vous venez d'ajouter des fichiers JAR externes à votre build path mais oublier d'importer l'archive dans votre projet.
OriginalL'auteur Mick
Ajouter la dépendance :
OriginalL'auteur Krishna sheladiya