Could not find class 'org.apache.http.entity.mime.content.Filebody', referenced from method
12,923
Solution 1
Add these two dependency
compile "org.apache.httpcomponents:httpcore:4.2.4"
compile "org.apache.httpcomponents:httpmime:4.3"
Solution 2
You need to have httpmime-4.0.jar in your classpath. You may (i guess you do) have this jar into your project, but is it inside your application during runtime? If i understand it correctly you get this from the android application. You need to have this jar inthe classpath of your android.
Solution 3
Add dependency :
compile 'org.apache.httpcomponents:httpcore:4.4.4'
Author by
Mat
Updated on July 31, 2022Comments
-
Mat over 1 year
What I'm trying to do is to send a picture to a web server. When I call a method in my Android project I get the following error: could not find class 'org.apache.http.entity.mime.content.Filebody', referenced from method com.example.tc.Send.send.
This happens eventhough I've got the following imports:
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.impl.client.DefaultHttpClient;
This is what the class looks like in which the method lies:
public class Send { public Send(){ } public static String send(String path) throws Exception { String filePath = path; String svar; HttpClient httpclient = new DefaultHttpClient(); try { HttpPost httppost = new HttpPost("path to web server"); FileBody pic = new FileBody(new File(filePath)); MultipartEntity requestEntity = new MultipartEntity(); requestEntity.addPart("file", pic); httppost.setEntity(requestEntity); System.out.println("executing request " + httppost.getRequestLine()); HttpResponse response = httpclient.execute(httppost); HttpEntity responseEntity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); ByteArrayOutputStream outstream = new ByteArrayOutputStream(); response.getEntity().writeTo(outstream); byte [] responseBody = outstream.toByteArray(); svar = new String(responseBody); System.out.println(svar); } finally { try { httpclient.getConnectionManager().shutdown(); } catch (Exception ignore) { } } return svar; } }
Can anyone see what the problem is?