上传文件时MultipartEntityBuilder中的NoClassDefFoundError

Nad*_*zov 2 android noclassdeffounderror contenttype android-studio

我想上传图片并将数据发送到服务器.我正在使用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);
Run Code Online (Sandbox Code Playgroud)

我收到运行时错误

java.lang.NoClassDefFoundError: org.apache.http.entity.ContentType 
at 
org.apache.http.entity.mime.MultipartEntityBuilder.addBinaryBody(MultipartEntityBuilder.java:146)
Run Code Online (Sandbox Code Playgroud)

怎么解决这个?

小智 5

我发现这个问题与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);
Run Code Online (Sandbox Code Playgroud)