2015-03-25 9 views
6

Ich versuche, einen MultipartEntityBuilder an meinen Rails-Server zu senden. Allerdings, wenn ich versuche, es zu bauen stürzt und gibt mir den FehlerMultipartEntityBuilder zum Senden von Bildern an den Gleisserver

03-25 09:44:50.001 W/System.err﹕ java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: No static method create(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/entity/ContentType; in class Lorg/apache/http/entity/ContentType; or its super classes (declaration of 'org.apache.http.entity.ContentType

 HttpPost httpost = new HttpPost(url); 
     MultipartEntityBuilder entity = new MultipartEntityBuilder.create(); 
     entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
     for(int index=0; index < nameValuePairs.size(); index++) { 
      ContentBody cb; 
      if(nameValuePairs.get(index).getName().equalsIgnoreCase("File")) { 
       File file = new File(nameValuePairs.get(index).getValue()); 
       FileBody isb = new FileBody(file); 
       entity.addPart(nameValuePairs.get(index).getName(), isb); 
      } else { 
       // Normal string data 

       cb = new StringBody(nameValuePairs.get(index).getValue(),ContentType.TEXT_PLAIN); 
       entity.addPart(nameValuePairs.get(index).getName(),cb); 
      } 
     } 
return entity.build(); 

Dies ist der Code, den ich verwende, und ich bin immer noch Fehler auf dem Gebäude der die MultipartEntity bekommen es sagen werde der Fehler.

Antwort

19

Try httpmime Version 4.3.6

mit habe ich versucht, 4.4+ aber immer das gleiche Problem mit.

+0

In Android Studio, mit der Datei | Projektstruktur | Abhängigkeit | Verwenden Sie nicht die Bibliothek Dependency, die Maven verwendet, die das neueste httmime hinzufügt. Stattdessen laden Sie 4.3.6 herunter, wie @Matheus es erwähnt hat, und fügen Sie es als Dateiabhängigkeit hinzu. Ihr build.gradle wird dann eine Zeile wie compile files haben ('libs/httpmime-4.3.6.jar' Denken Sie daran, dass Sie Ihr Projekt eventuell erneut mit Gradle-Dateien in Android Studio synchronisieren müssen – n00b

+1

Oder einfach 'compile 'org.apache .httpcomponents: httpmime: 4.3.6'' in 'Abhängigkeiten' von deiner' build.gradle' Datei – Matheus