2015-05-07 1 views
4

Я пробовал следующие ссылки, но ни один из них не помог решить проблему.Ошибка Entity возвращает в MultiPartEntityBuilder

HttpPost returning error when using MultipartEntityBuilder in Android

https://stackoverflow.com/a/22803149/1226882

Вот код

HttpClient httpClient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost(Utility.AddProductWS); 

MultipartEntityBuilder multipartBuilder = MultipartEntityBuilder.create(); 

/* example for setting a HttpMultipartMode */ 
multipartBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 

for (int i = 0; i < photos.size(); i++) { 

    multipartBuilder.addBinaryBody("images[]", newFile(photos.get(i).getImagePath()); 
} 

multipartBuilder.addTextBody("username", username.toString()); 
multipartBuilder.addTextBody("accept_best_offer", String.valueOf(acceptOffer.isChecked() ? 1 : 0)); 
multipartBuilder.addTextBody("accept_trade", String.valueOf(acceptTrade.isChecked() ? 1 : 0)); 
multipartBuilder.addTextBody("product_price", etProductPrice.getText().toString()); 
multipartBuilder.addTextBody("product_description", etProductDescription.getText().toString()); 

HttpEntity httpEntity = multipartBuilder.build(); 
httpPost.setEntity(httpEntity); // Error line 
HttpResponse response = httpClient.execute(httpPost); 
Utility.showLog(TAG, EntityUtils.toString(response.getEntity())); 

Ошибка

Caused by: java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/message/BasicHeaderValueFormatter; in class Lorg/apache/http/message/BasicHeaderValueFormatter; or its superclasses (declaration of 'org.apache.http.message.BasicHeaderValueFormatter' appears in /system/framework/ext.jar)

Я использую httpcore-4.4.1 и httpmime-4.4.1 файлы библиотеки.

+0

попытаться добавить сообщение одного файла с помощью 'entityBuilder.addBinaryBody (IMAGE, file);' и проверить. –

+0

Я пробовал то же самое, и он тоже не работает :( – moDev

+0

@MuhammadBabar любая идея? – moDev

ответ

13

Наконец я решил.

Это проблема с библиотекой, она работала с версией 4.3.1.

Вот ссылка на download библиотеки файлов

+0

Спасибо. :) one upvote от меня – alkber

+0

@droid_dev: У меня эти версии, но он не работает (такая же ошибка, как и вы): compile ('org.apache.httpcomponents: httpmime: 4.3.1') { исключить модуль: httpclient " } compile ('org.apache.httpcomponents: httpcore: 4.3.1') { исключить модуль:" httpclient " } – anthony

+0

Теперь попробуйте с библиотекой okhttp. Он работает без этой библиотеки – moDev

2

Попробуйте с theese версии, работает для меня

compile 'org.apache.httpcomponents:httpcore:4.3.3' 
compile('org.apache.httpcomponents:httpmime:4.3.6') { 
    exclude module: 'httpclient' 
} 

Также вы можете прочитать больше here.

 Смежные вопросы

  • Нет связанных вопросов^_^