首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MultipartEntity类型已弃用

MultipartEntity类型已弃用
EN

Stack Overflow用户
提问于 2013-10-05 17:46:11
回答 2查看 59.7K关注 0票数 52

文档中说org.apache.http.entity.mime.MultipartEntity类已被弃用。有没有人能给我推荐一个替代方案?

我在我的代码中使用了如下代码:

代码语言:javascript
复制
entity.addPart("params", new StringBody("{\"auth\":{\"key\":\""
            + authKey + "\"},\"template_id\":\"" + templateId + "\"}"));
entity.addPart("my_file", new FileBody(image));
httppost.setEntity(entity);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-05 18:18:49

如果您仔细阅读文档,您会注意到您应该使用MultipartEntityBuilder作为替代。

例如:

代码语言:javascript
复制
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

请注意,FileBody类有几个构造函数,您可以通过它们提供mimeType、内容类型等。

在将构建指令传递给构建器之后,可以通过调用MultipartEntityBuilder#build()方法来获得构建的HttpEntity

代码语言:javascript
复制
HttpEntity entity = builder.build();
票数 116
EN

Stack Overflow用户

发布于 2017-05-11 06:29:35

我仍然看到很多教程仍然在使用废弃的API,这就是我写这篇文章的原因。为了将来的访问者的利益(直到这个API被弃用;)

代码语言:javascript
复制
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);
...
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19196292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档