使用 httpclient 上传文件方法的封装
2019-10-07 16:52
2606 查看
本人使用 httpclient 进行接口测试的过程中,遇到了上传文件的接口,之前的文章已经完成了二进制流上传图片的代码,但是还没有封装成固定的使用方法,今天分享一下封装后的方法,供大家参考。
/** * 设置二进制流实体,params 里面参数值为 file * * @param httpPost * httpPsot 请求 * @param params * 请求参数 * @param file * 文件 */ public void setMultipartEntityEntity(HttpPost httpPost, JSONObject params, File file) { String fileName = getFileName(file); InputStream inputStream = null; try { inputStream = new FileInputStream(file); } catch (FileNotFoundException e) { e.printStackTrace(); } Iterator<String> keys = params.keys();// 遍历 params 参数和值 MultipartEntityBuilder builder = MultipartEntityBuilder.create();// 新建builder对象 while (keys.hasNext()) { String key = keys.next(); String value = params.getString(key); if (value.equals("file")) { builder.addBinaryBody(key, inputStream, ContentType.create("multipart/form-data"), fileName);// 设置流参数 } else { StringBody body = new StringBody(value, ContentType.create("text/plain", Consts.UTF_8));// 设置普通参数 builder.addPart(key, body); } } HttpEntity entity = builder.build();// 生成entity httpPost.setEntity(entity);// 设置 entity }
此方法仅针对 Linux 系统,因为 Windows 系统在文件路径中用的“\”,在代码里是“\”所以 Windows 系统的朋友得注意力。
技术类文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 接口测试代码覆盖率(jacoco)方案分享
- 性能测试框架
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 将swagger文档自动变成测试代码
- 五行代码构建静态博客
- 基于java的直线型接口测试框架初探
- python plotly处理接口性能测试数据方法封装
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 写给所有人的编程思维
- 自动化测试的障碍
- 自动化测试的问题所在
- 成为优秀自动化测试工程师的7个步骤
- 未来10年软件测试的新趋势-上
- 未来10年软件测试的新趋势-上
- 17种软件测试人员常用的高效技能-上
- 17种软件测试人员常用的高效技能-下
大咖风采
点击查看公众号地图
相关文章推荐
- 使用 httpclient 上传文件方法的封装
- 使用HttpClient实现文件的上传下载方法
- 使用HttpClient实现文件的上传下载方法
- yii使用CUploadedFile上传文件的一般方法
- Query插件之ajaxFileUpload使用方法——input.change()事件的时候实现文件上传
- 自己封装的一个ASP.NET上传文件的方法
- jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
- 封装ThinkPHP的一个文件上传方法实例
- 在Node.js中使用HTTP上传文件的方法
- struts2下使用ckeditor集成ckfinder无法上传文件的解决方法
- 使用httpclient4上传文件
- Android使用httpclient上传文件到服务器
- PHP特点之文件上传1——使用POST方法上传单文件和多文件
- 转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder
- 如何开发一个java开源框架-----Jvn框架之实现文件的上传以及方法封装(第六讲)八哥实力讲解
- 使用WebClient.UpLoadFile方法在C/S程序中上传文件
- 使用ADB上传、下载文件和安装软件的方法
- 使用CuteFTP上传文件方法
- 使用java的HttpURLconnnection模拟form上传 以及apache httpClient 直接上传文件
- WebClient使用与IIS7最大上传文件--升级&引导窗口&目录同步完整解决方法