import org.apache.http.entity.mime.MultipartEntityBuilder; //导入方法依赖的package包/类

/**

* Encodes multipart/form-data where the body content must be an instance of the {@link MultipartContent} class. Individual parts will be

* encoded using the encoders available to the {@link ChainedHttpConfig} object.

*

* @param config the chained configuration object

* @param ts the server adapter

*/

public static void multipart(final ChainedHttpConfig config, final ToServer ts) {

try {

final ChainedHttpConfig.ChainedRequest request = config.getChainedRequest();

final Object body = request.actualBody();

if (!(body instanceof MultipartContent)) {

throw new IllegalArgumentException("Multipart body content must be MultipartContent.");

}

final String contentType = request.actualContentType();

if (!(contentType.equals(MULTIPART_FORMDATA.getAt(0)) || contentType.equals(MULTIPART_MIXED.getAt(0)))) {

throw new IllegalArgumentException("Multipart body content must be multipart/form-data.");

}

final String boundary = randomString(10);

MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create().setBoundary(boundary);

final String boundaryContentType = "multipart/form-data; boundary=" + boundary;

entityBuilder.setContentType(ContentType.parse(boundaryContentType));

for (final MultipartContent.MultipartPart mpe : ((MultipartContent) body).parts()) {

if (mpe.getFileName() == null) {

entityBuilder.addTextBody(mpe.getFieldName(), (String) mpe.getContent());

} else {

final byte[] encodedBytes = EmbeddedEncoder.encode(config, mpe.getContentType(), mpe.getContent());

entityBuilder.addBinaryBody(mpe.getFieldName(), encodedBytes, parse(mpe.getContentType()), mpe.getFileName());

}

}

request.setContentType(boundaryContentType);

ts.toServer(entityBuilder.build().getContent());

} catch (IOException ioe) {

ioe.printStackTrace();

}

}

java entitybuilder_Java MultipartEntityBuilder.setContentType方法代码示例相关推荐

  1. java kryo_Kryo框架使用方法代码示例

    Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...

  2. java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例

    import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...

  3. java invalidate_Java Component.invalidate方法代码示例

    import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...

  4. java hasmoreelements_Java IOException.hasMoreElements方法代码示例

    import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...

  5. java methode_Java Method.getTypeParameters方法代码示例

    import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...

  6. java setmethod_Java Operation.setJavaMethod方法代码示例

    import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...

  7. java cancel_Java RunnableFuture.cancel方法代码示例

    import java.util.concurrent.RunnableFuture; //导入方法依赖的package包/类 @Test public void testSnapshotAsyncC ...

  8. java setrequestheader_Java SampleResult.setRequestHeaders方法代码示例

    import org.apache.jmeter.samplers.SampleResult; //导入方法依赖的package包/类 public List getFragments(Parser ...

  9. java getevent_Java ActionEvent.getWhen方法代码示例

    import java.awt.event.ActionEvent; //导入方法依赖的package包/类 @Override final public void actionPerformed(A ...

  10. java setmessage_Java Message.setTitle方法代码示例

    import org.kuali.rice.kcb.bo.Message; //导入方法依赖的package包/类 /** * @see org.kuali.rice.kcb.service.Mess ...

最新文章

  1. linux挂载分区失败,Ubuntu分区挂载错误与Grub引导错误的修复
  2. Android人脸支付研究,智能手机上人脸支付系统的设计与实现
  3. Redis进阶-bind参数详解
  4. u盘序列号读取工具_硬盘读写工具
  5. Python 修改pip源---windows / Linux
  6. mysql ubuntu 注意点
  7. 机器学习与计算机视觉(第一个卷积神经网络)
  8. java实现顺序表的增加,删除,查找,打印
  9. 浅谈系统如何对接社交登录之微博登录功能
  10. 接口测试一般怎么测?接口测试的流程和步骤
  11. 计算机桌面性能4.4怎么办,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版 (全文)...
  12. 一图看懂ADSL拨号服务器
  13. 计算机版音乐教学,计算机音乐技术在高职音乐教学的应用
  14. 计算机的网关地址是什么,什么是网关 网关地址是什么
  15. 编程序,输入长方形的两边长a和b,输出长方形的周长和面积
  16. 万字长文--详解Node.js(快速入门)
  17. Win10电脑很卡反应很慢该如何处理
  18. 基于ssm的校园二手电子交易平台
  19. 基于Rsyslog的日志文件采集办法
  20. Oracle SQL:update更新语句总结

热门文章

  1. c语言怎样得到函数内参数的值_C语言零基础入门—函数01
  2. 高分辨率扫描出来的图片有摩尔纹_【艺术与设计】 摩尔纹的设计
  3. Linux c语言 creat参数,C语言open和creat函数
  4. 关于2020idea不能创建web项目问题
  5. Path接口与Files工具类
  6. 关于c语言的诞生正确的是,C语言既然是这样诞生的,大家都不敢相信
  7. 图片夹_【第8期】EHS大咖答疑解惑吊运事故的罪魁祸首之一:钢丝绳夹!不看不知道!...
  8. debian nginx php配置文件,在debian上安装配置nginx + php-FPM + APC
  9. Spring的注解@Autowired和@Resource的区别
  10. iOS:childViewController和view的声明周期及其原理