通过HttpClient4.5模拟Form表单文件上传
public static void main(String[] args) {
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String result = null;
InputStream inputStream = null;
try {
inputStream = new FileInputStream("D:\\test.pdf");
HttpPost httpPost = new HttpPost("http://127.0.0.1/test");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addBinaryBody("wj", inputStream, ContentType.create("multipart/form-data"), "test.pdf");
//构建请求参数 普通表单项
StringBody stringBody = new StringBody("100001", ContentType.MULTIPART_FORM_DATA);
builder.addPart("serial_no", stringBody);
stringBody = new StringBody("200", ContentType.MULTIPART_FORM_DATA);
builder.addPart("xPosition", stringBody);
stringBody = new StringBody("200", ContentType.MULTIPART_FORM_DATA);
builder.addPart("yPosition", stringBody);
stringBody = new StringBody("2", ContentType.MULTIPART_FORM_DATA);
builder.addPart("sealType", stringBody);
stringBody = new StringBody("1", ContentType.MULTIPART_FORM_DATA);
builder.addPart("paegNum", stringBody);
builder.setCharset(CharsetUtils.get("UTF-8"));
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
response = httpclient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("statusCode:" + statusCode);
if (statusCode == HttpStatus.SC_OK) {
HttpEntity resEntity = response.getEntity();
result = EntityUtils.toString(resEntity, "UTF-8");
}
System.out.println("result:" + result);
} catch (IOException ex) {
Logger.getLogger(QzTest.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
if (null != inputStream) {
inputStream.close();
}
} catch (IOException ex) {
Logger.getLogger(QzTest.class.getName()).log(Level.SEVERE, null, ex);
} finally {
httpclient.getConnectionManager().shutdown();
}
}
}
依赖包:
commons-logging-1.2.jar
httpclient-4.5.3.jar
httpcore-4.4.6.jar
httpmime-4.5.3.jar
通过HttpClient4.5模拟Form表单文件上传的更多相关文章
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- form表单文件上传 servlet文件接收
需要导入jar包 commons-fileupload-1.3.2.jar commons-io-2.5.jar Upload.Jsp代码 <%@ page language="jav ...
- form表单文件上传提交且接口回调显示提交成功
前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...
- SSM+form表单文件上传
这里介绍SSM如何配置上传文件 配置springmvc.xml: <!--配置上传下载--> <bean id="multipartResolver" class ...
- 模拟form表单请求上传文件
发请求 public string CameraFileUpload(string url,string path,string serverPath,string uploadfileName) { ...
- 基于Spring3 MVC实现基于form表单文件上传
http://blog.csdn.net/jia20003/article/details/8474374/
- 表单文件上传,ajax文件上传
原创链接:http://www.cnblogs.com/yanqin/p/5345562.html html代码 index.jsp(表单文件上传) <form action="sh ...
- Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传
Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV 在Django中存 ...
- 混合表单文件上传到数据库(基于TOMCAT)
在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库. 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上 ...
随机推荐
- JSTL标签用法:<c:choose><c:forEach><c:if><c:when><c:set>
JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记. JSP 技术的优势之一在于其定制标记库工具.除了核心 J ...
- cvCreateStumpClassifier
CV_BOOST_IMPL CvClassifier* cvCreateStumpClassifier( CvMat* trainData, //训练样本的数据,包含图像大小.数量,类别,权重等 in ...
- 完全定制UITabBarViewController
完全定制UITabBarViewController 效果 源码 https://github.com/YouXianMing/iOS-Project-Examples 中的 TotalCusto ...
- linux下vi操作Found a swap file by the name
当我在linux下用vi打开Test.java文件时 [root@localhost tmp]# vi Test.java 会出现如下信息: E325: ATTENTION Found a swap ...
- winform中的TreeView的数据绑定
#region 绑定TreeView /// <summary> /// 绑定TreeView(利用TreeNode) /// </summary> /// <param ...
- Mac下使用XLD转换无损音乐Ape
最近想要给音乐库增加一些音乐,下载了一些Ape格式的无损音乐,但是无法直接导入到iTunes中,必须经过其他工具转换成苹果的无损格式,XLD就是这样一款工具.XLD的下载和安装非常方便,直接将APP拖 ...
- [转]Linux常用命令大全
From : http://www.php100.com/html/webkaifa/Linux/2009/1106/3485.html 系统信息 arch 显示机器的处理器架构(1) uname - ...
- org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.xugao.bean.MemberLevel.memberpointrate
由于数据不合法的原因,好几次遇到: org.hibernate.PropertyAccessException: Null value was assigned to a property of pr ...
- Kafka学习入门
最近工作中用到了两个很给力的项目,一个是Kafka,一个是Strom.本着自我学习并方便他人的目的,我会将我觉得比较有用的英文文档翻译在此(保留系统专有名词不作翻译). 1kafka介绍 在流式计算中 ...
- lazarus汉化
启动Lazarus IDE,点击菜单栏中的Environment,再点击Options选项 在弹出的IDE选项框内,点选左侧Environment下的Desktop子选项,将Language设为Chi ...