通过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.定义一个公共类实现文件上 ...
随机推荐
- XCODE调试时不显示变量值/指针地址的解决方案
转:http://blog.csdn.net/samuelltk/article/details/41250151
- Java 获取客户端IP
像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息.这种情况下,直接用request.getRemoteAddr()是无法取到真正的 ...
- 基于QT和OpenCV的人脸检測识别系统(1)
人脸识别分为两大步骤 1.人脸检測 这个是首要实现的.你得实现人脸显示的时候把人脸框出来,当然算法非常多,另一些人眼检測鼻子检測什么的 主要用的是这个 const char *faceCascadeF ...
- linux 调用栈打印
NDK开发的代码打印方式 #include <utils/CallStack.h> extern "C" void dumping_callstack(void);vo ...
- Qt中对QDomDocument和QDomnode的理解
一.对QDomDocument和QDomnode的理解 QDom前缀的都是代表节点类型.所以有,QDomElement代表一个Element节点,而QDomText代表一个Text节点.QDomNod ...
- JAVA中String.format的用法 转16进制,还可以补0
1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...
- Web用户的身份验证及WebApi权限验证流程的设计和实现 asp.net mvc AllowAnonymous 不起作用, asp.net mvc 匿名访问
原文地址: https://blog.csdn.net/zjlovety/article/details/17095627 前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个 ...
- 荔枝FM 字体文件 IconFontTextView
使用效果 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...
- 【ElasticSearch】ElasticSearch-索引优化-自定义索引
ElasticSearch-索引优化-自定义索引 es 指定 索引 字段_百度搜索 [es]创建索引和映射 - 匡子语 - 博客园 reindex,增加字段,并新增数据 - Elastic中文社区 e ...
- 网易的Spark技术实践
http://www.infoq.com/cn/news/2014/04/netease-spark-practice?utm_source=infoq&utm_medium=popular_ ...