2015-03-25 18 views
6

Sto tentando di inviare un MultipartEntityBuilder al mio server Rails. Tuttavia quando provo a costruirlo si blocca e mi dà l'erroreMultipartEntityBuilder per inviare immagini al server ferroviario

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(); 

Questo è il codice che sto usando e sto ancora ricevendo errori sulla costruzione del l'MultipartEntity si dirà l'errore.

risposta

19

Provare a utilizzare httpmime versione 4.3.6

Ho provato ad utilizzare 4.4+, ma sempre lo stesso problema.

+0

In Android Studio, utilizzando il File | Struttura del progetto | Dipendenza | Pulsante +, non utilizzare la Dependecy della libreria che utilizza Maven che sta aggiungendo l'ultima versione di httmime. Invece scarica il 4.3.6 come @Matheus ha menzionato e aggiungilo come dipendenza da file. Il tuo build.gradle quindi avrà una riga come i file di compilazione ('libs/httpmime-4.3.6.jar' Ricorda che potresti aver bisogno di sincronizzare il tuo progetto con i file Gradle in Android Studio ancora – n00b

+1

o semplicemente mettere 'compile 'org.apache .httpcomponents: httpmime: 4.3.6'' all'interno di 'dependencies' sul tuo file' build.gradle' – Matheus

Problemi correlati