Http——Post上传文件并传递其他参数信息
文章目录
- 前言
- 主要代码部分
前言
之前的博客中针对Http
有很多其他的案例,这里不做过多的说明,详情可以去围观:
使用org.apache.httpcomponents.httpclient进行Post和get请求测试
主要代码部分
// 创建httpclient 对象
CloseableHttpClient httpClient = new DefaultHttpClient();// 根据请求地址,构建Httppost请求对象
HttpPost httppost = new HttpPost(uploadUrl);// 构建文件上传封装体
MultipartEntityBuilder meb = MultipartEntityBuilder.create();
// ContentType strContent = ContentType.create("application/zip", Charset.forName("UTF-8"));
// 包含文件信息
meb.addBinaryBody("files", new File(filePath));// 文件路径
// 附带上传其他参数信息
meb.addTextBody("USER",account);
meb.addTextBody("PASSWORD",password);
// ..... 等多个// 构建对象封装体
HttpEntity httpEntity = meb.build();// 将请求数据封装提放置于请求对象中
httppost.setEntity(httpEntity);// 设置请求头
httppost.addHeader("Accept-Charset","utf-8");// 发起请求
HttpResponse httpResponse = httpClient.execute(httppost);// 获取返回状态信息等
// 状态信息,以 org.apache.http.HttpStatus 为准
// httpResponse.getStatusLine().getStatusCode()// 获取请求回执信息
HttpEntity resEntity = httpResponse.getEntity();// json 字符串或其他格式
String returnMessge = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");// 关闭流
EntityUtils.consume(resEntity);// 我这里是json格式
JSONObject errJson = JSONObject.fromObject(returnMessge);
其中,核心部分为:
// 构建文件上传封装体
MultipartEntityBuilder meb = MultipartEntityBuilder.create();
// ContentType strContent = ContentType.create("application/zip", Charset.forName("UTF-8"));
// 包含文件信息
meb.addBinaryBody("files", new File(filePath));// 文件路径
// 附带上传其他参数信息
meb.addTextBody("USER",account);
meb.addTextBody("PASSWORD",password);
如果涉及到数据格式,则可以增加下列配置:
ContentType strContent = ContentType.create("application/zip", Charset.forName("UTF-8"));
Http——Post上传文件并传递其他参数信息相关推荐
- ElementUI中el-upload怎样上传文件并且传递额外参数给Springboot后台进行接收
场景 需要将Excel中的数据导入到数据库中,就会用到文件上传的功能. 这里使用ElementUI的el-upload控件实现文件上传. 注: 博客: https://blog.csdn.net/ba ...
- flask ajax 上传 图片,flask jQuery ajax 上传文件
1.html 代码 注:1.html 部分主要是一个form表单,其中表单的enctype = "multipart/form-data" 必须要有. 2.由于我的页面背景颜色设置 ...
- [原创]使用ajaxFileUpload.js上传文件时附带额外参数。
最近公司的一个项目涉及到导入Excel的功能,于是就想到用ajaxFileUpload来实现上传文件,因为用过很多次了,网上也有很多文章介绍.使用方法不表.但是在附带参数这个环节卡住了:文件可以上传到 ...
- httpclient通过POST来上传文件,而不是通过流的形式,并在服务端进行解析(通过htt......
为什么80%的码农都做不了架构师?>>> package url;import io.IoStreamUtil;import java.io.File; import java ...
- Ajax方式上传文件报错Uncaught TypeError: Illegal invocation
今天使用ajax上传文件时,出现了错误.数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求.F12看到后台报了个错误:Uncaught TypeEr ...
- Java实现上传文件到指定服务器指定目录
前言需求 使用freemarker生成的静态文件,统一存储在某个服务器上.本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch.毕竟有现成的就很舒服,在此介绍给大家. 具体实现 引入的pom ...
- php文件上传空间,PHP上传文件-PHP多文件上传
PHP多文件上传个人理解总结 php函数 2009-08-03 21:37 阅读26 评论0 字号: 大大 中中 小小 多文件上传是PHP中一基础应用,在此把相关知识向大家详细介绍 ...
- php的$_FILES如何生成以及如何与上传文件对象产生联系
一.前言 写这篇博客的原因是因为,在上传文件的时候,我们都知道要用$_FILES变量来获取上传的内容,但是$_FILES是什么使用开始有值的呢?我们上传的是二进制参数,为什么在后台不能通过$_POST ...
- Vue封装一个简单轻量的上传文件组件
一.之前遇到的一些问题 项目中多出有上传文件的需求,使用现有的UI框架实现的过程中,不知道什么原因,总会有一些莫名其妙的bug.比如用某上传组件,明明注明(:multiple="false& ...
- node.js实现formdata上传文件
node.js实现formdata上传文件 1.关于formdata XMLHttpRequest Level 2 添加了一个新的接口--FormData.利用 FormData 对象,我们可以通过 ...
最新文章
- 一个JS打开链接并隐藏来源的方法
- php 提交网页 传值 获取编辑框的值
- Android 5.1 修改系统默认语言
- myeclipse设置注释格式
- BOOST_PROTO_DEFINE_OPERATORS宏使用 std::vector<> 和 std::list 非原型类型来原型化表达式的示例
- 计算机组成原理R0bus是什么,计算机组成原理微程序控制器实验
- SVN Could not open the requested SVN filesystem解决办法
- oracle智能便携投影机,小火投影S10评测:让人眼前一亮的便携智能投影仪
- 西安硬科技创新大会前奏,一起玩转陕西首档广播双创节目乐创power
- Spring Boot整合MyBatis框架(完整的注解版)
- hdu2859 Phalanx(线性dp)
- 【FPGA学习】Quartus II新建工程流程
- 为什么有的人说话一定要带手势?生物学基础找到了
- Java的自学之旅10
- 【转载】基于LLVM Pass实现控制流平坦化
- java课程设计 计算器_java课程设计-保存计算过程的计算器
- TMF大数据分析指南 Unleashing Business Value in Big Data(一)
- oculus vr开发_Oculus IndieCade VR Jam总结
- 用ubuntu读取U盘时,电脑蓝屏自动重启的问题
- GUI programming with wxPython 之 XRC