2015-03-25 16 views
6

Tôi đang cố gắng gửi MultipartEntityBuilder tới máy chủ Rails của mình. Tuy nhiên khi tôi cố gắng để xây dựng nó nó bị treo và mang lại cho tôi những lỗiMultipartEntityBuilder để gửi ảnh đến máy chủ đường sắt

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

Đây là mã tôi đang sử dụng và tôi vẫn nhận được lỗi trên tòa nhà của các MultipartEntity nó sẽ nói lỗi.

Trả lời

19

Hãy thử sử dụng phiên bản httpmime 4.3.6

Tôi đã thử sử dụng 4.4+ nhưng luôn có cùng sự cố.

+0

Trong studio android, sử dụng Tệp | Cơ cấu dự án | Phụ thuộc | + nút, không sử dụng thư viện Dependecy đang sử dụng Maven đang thêm httmime mới nhất. Thay vào đó, donwload 4.3.6 như @Matheus đã đề cập và thêm nó dưới dạng Phụ thuộc tệp. Build.gradle của bạn sau đó sẽ lhave một dòng như tập tin biên dịch ('libs/httpmime-4.3.6.jar' Hãy nhớ rằng bạn có thể cần phải đồng bộ dự án của bạn với các tập tin Gradle trong Android Studio một lần nữa – n00b

+1

Hoặc chỉ cần đặt 'biên dịch' org.apache .httpcomponents: httpmime: 4.3.6'' bên trong 'dependencies' trên tệp' build.gradle' của bạn – Matheus

Các vấn đề liên quan