如何用Android上的MultipartEntityBuilder替换MultipartEntity?
问题描述:
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpPost httppost = new HttpPost("http://192.168.150.101:8080/TDIDP/ServletImagen");
File file = new File("C:\\pw\\proyectos\\TDIDP\\a.png");
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "image/png");
mpEntity.addPart("userfile", cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
System.out.println(response.getStatusLine());
if (resEntity != null) {
System.out.println(EntityUtils.toString(resEntity));
}
if (resEntity != null) {
resEntity.consumeContent();
}
httpclient.getConnectionManager().shutdown();
我有此代码发送图片到Servlet,但问题是,现在MultipartEntitiy没有可用于Android,因为它已经过时了,我该如何使用MultiPartEntityBuilder做multipar?如何用Android上的MultipartEntityBuilder替换MultipartEntity?
答
我该如何使用MultiPartEntityBuilder来完成多部分。
HttpClient
在sdk 23中不再被支持,如果你使用它,你需要解决很多问题。您必须使用URLConnection
您可以在此链接中看到MultipartUtility
https://github.com/RecastAI/SDK-Android/blob/master/src/main/java/ai/recast/sdk_android/MultipartUtility.java。