MultiPartEntityBuilder 中的实体 returns 错误
Entity returns error in MultiPartEntityBuilder
我试过点击链接,但 none 个链接帮助解决了问题。
代码如下
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 库文件。
multipartBuilder.addPart("images[]", 文件正文); fileBody 转换为 byteArray 然后你通过,因为数据在字节数组中传输
Try to upload the image in php server but it could post. in android
终于解决了
这是一个库问题,它适用于 4.3.1 版本。
这是 link 到 download 库文件
试试这些版本,对我有用
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
您还可以阅读更多内容here。
我试过点击链接,但 none 个链接帮助解决了问题。
代码如下
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 库文件。
multipartBuilder.addPart("images[]", 文件正文); fileBody 转换为 byteArray 然后你通过,因为数据在字节数组中传输
Try to upload the image in php server but it could post. in android
终于解决了
这是一个库问题,它适用于 4.3.1 版本。
这是 link 到 download 库文件
试试这些版本,对我有用
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
您还可以阅读更多内容here。