2015-03-25 35 views
6

Próbuję wysłać MultipartEntityBuilder do mojego serwera Rails. Jednak gdy próbuję zbudować się zawiesi i daje mi błądMultipartEntityBuilder do wysyłania zdjęć do serwera kolejowego

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

Jest to kod używam i jestem wciąż otrzymuję błędy na budynku w MultipartEntity powiem to błąd.

Odpowiedz

19

Spróbuj użyć httpmime wersję 4.3.6

Próbowałem za pomocą 4.4+ ale zawsze ten sam problem.

+0

W androidowym studio, używając pliku | Struktura projektu | Zależność | + przycisk, nie używaj Dependecy biblioteki, która używa Mavena, który dodaje najnowszy httmime. Zamiast tego donwload 4.3.6, o którym wspomniał już @Matheus, i dodaj go jako zależność plików. Twój build.gradle utworzy linię przypominającą pliki kompilacji ("libs/httpmime-4.3.6.jar" Pamiętaj, że być może będziesz musiał ponownie zsynchronizować swój projekt z plikami Gradle w Android Studio – n00b

+1

Lub po prostu wstaw "kompilacja" org.apache .httpcomponents: httpmime: 4.3.6'' wewnątrz 'zależności' na twoim pliku' build.gradle' – Matheus