android - 上传文件时 MultipartEntityBuilder 中出现 NoClassDefFoundError

标签 android android-studio noclassdeffounderror contenttype

我想上传图像并将数据发送到服务器。我正在为此使用 MultipartEntityBuilder。我正在 Android Studio 上编码。

这是我的代码

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(config.api_url+"profile.php");

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

if(mLastTakenImageAsJPEGFile!=null) {
    builder.addBinaryBody("image", mLastTakenImageAsJPEGFile);
}

builder.addTextBody("token", _appPrefs.getToken());
final HttpEntity reqEntity = builder.build();

httpPost.setEntity(reqEntity);

我收到运行时错误

java.lang.NoClassDefFoundError: org.apache.http.entity.ContentType 
at 
org.apache.http.entity.mime.MultipartEntityBuilder.addBinaryBody(MultipartEntityBuilder.java:146)

如何解决这个问题?

最佳答案

我在httpmime 4.3.6中发现了这个问题,而且我还没有找到解决方案,我建议你使用httpmime 4.2.1,它工作得很好。

MultipartEntity multipartEntity = new MultipartEntity();
ContentBody contentBody = new FileBody(file);
multipartEntity.addPart("image", new FileBody(file));
httpPost.setEntity(multipartEntity);

关于android - 上传文件时 MultipartEntityBuilder 中出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25258580/

相关文章:

java - 异常 - NoClassDefFoundError : org. apache.xml.security.Init

java.lang.NoClassDefFoundError : net. sf.jasperreports.engine.util.JRStyledTextParser(初始化失败)

android - 如何为 android 添加新的依赖项到 chromium?

android - 使用不同布局时的 Listview 回收

android - 如何在 Activity 更改时只为一个 Activity 设置动画?

java - Android YouTube API - 无缓冲处理方向变化

android - 屏幕移动

java - 错误 : Didn't find class android. view.menu(在路径上)

USB 调试时 Android-Studio 因 ArrayOutOfBounds 异常而无法使用

java - 奇怪的 NoClassDefFoundError