实体在MultiPartEntityBuilder中返回错误

时间:2015-05-07 21:12:27

标签: android android-asynctask multipartentity

我尝试过以下链接,但没有一个能帮助解决问题。

  

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

错误

  

引起:java.lang.NoSuchFieldError:没有静态字段INSTANCE   输入Lorg / apache / http / message / BasicHeaderValueFormatter;在班上   Lorg /阿帕奇/ HTTP /消息/ BasicHeaderValueFormatter;或者它的   超类(声明   'org.apache.http.message.BasicHeaderValueFormatter'出现在   /system/framework/ext.jar)

我正在使用 httpcore-4.4.1 httpmime-4.4.1 库文件。

2 个答案:

答案 0 :(得分:14)

最后我解决了。

这是一个库问题,它适用于4.3.1版本。

以下是download库文件

的链接

答案 1 :(得分:0)

multipartBuilder.addPart(“images []”,fileBody); fileBody转换为byteArray,然后传递,因为数据以字节数组传输

Jsbin Link HERE