文档说org.apache.http.entity.mime.MultipartEntity 该类已被弃用.有人可以建议我另类吗?
我在我的代码中使用这个:
entity.addPart("params", new StringBody("{\"auth\":{\"key\":\""
+ authKey + "\"},\"template_id\":\"" + templateId + "\"}"));
entity.addPart("my_file", new FileBody(image));
httppost.setEntity(entity);
Run Code Online (Sandbox Code Playgroud)
Kon*_*kov 110
如果您仔细阅读文档,您会注意到您应该使用它MultipartEntityBuilder作为替代方案.
例如:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
/* example for setting a HttpMultipartMode */
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
/* example for adding an image part */
FileBody fileBody = new FileBody(new File(image)); //image should be a String
builder.addPart("my_file", fileBody);
//and so on
Run Code Online (Sandbox Code Playgroud)
请注意,FileBody该类有几个构造函数,您可以通过它们提供mimeType,内容类型等.
完成将构建指令传递给构建器后,可以HttpEntity通过调用MultipartEntityBuilder#build()方法来构建:
HttpEntity entity = builder.build();
Run Code Online (Sandbox Code Playgroud)
我仍然看到很多教程仍在使用已弃用的 API,这就是我写这篇文章的原因。为了未来访问者的利益(直到此 API 被弃用;))
File image = "....";
FileBody fileBody = new FileBody(image);
MultipartEntityBuilder builder = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addTextBody("params", "{....}")
.addPart("my_file", fileBody);
HttpEntity multiPartEntity = builder.build();
String url = "....";
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(multiPartEntity);
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53115 次 |
| 最近记录: |