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表单文件上传的更多相关文章

  1. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  2. form表单文件上传 servlet文件接收

    需要导入jar包 commons-fileupload-1.3.2.jar commons-io-2.5.jar Upload.Jsp代码 <%@ page language="jav ...

  3. form表单文件上传提交且接口回调显示提交成功

    前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...

  4. SSM+form表单文件上传

    这里介绍SSM如何配置上传文件 配置springmvc.xml: <!--配置上传下载--> <bean id="multipartResolver" class ...

  5. 模拟form表单请求上传文件

    发请求 public string CameraFileUpload(string url,string path,string serverPath,string uploadfileName) { ...

  6. 基于Spring3 MVC实现基于form表单文件上传

    http://blog.csdn.net/jia20003/article/details/8474374/

  7. 表单文件上传,ajax文件上传

    原创链接:http://www.cnblogs.com/yanqin/p/5345562.html html代码  index.jsp(表单文件上传) <form action="sh ...

  8. Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传

    Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV       在Django中存 ...

  9. 混合表单文件上传到数据库(基于TOMCAT)

    在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库. 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上 ...

随机推荐

  1. nodeJS 相关开源项目

    摘要:NodeJS是一个服务器端JavaScript解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码 ...

  2. 用UICollectionView实现无限轮播图

    用UICollectionView实现无限轮播图 效果 源码 https://github.com/YouXianMing/Animations 细节

  3. 如何删除mac keeper

    如果不小心安装了mac keeper,基本是无法删除的,而且16年以前的方法都不管用.可以这样删除,我已经测试过了,下载https://data-cdn.mbamupdates.com/web/mba ...

  4. sublime text的扩展插件

    sublime text用作开发编辑器,还缺省二个比较重要功能:跨文件跳转.返回最后一次编辑的位置: 这里有二个插件正好解决此问题:CTags.ChangeList   其它常用的插件,google一 ...

  5. 《C#本质论(第4版)》

    <C#本质论(第4版)> 基本信息 作者: (美)Mark Michaelis    Eric Lippert 译者: 周靖 出版社:人民邮电出版社 ISBN:9787115336750 ...

  6. window.opener()方法

    <!DOCTYPE html><html><head><meta charset="GBK"><title>菜鸟教程(r ...

  7. Python生成文件列表

    https://blog.csdn.net/ZWX2445205419/article/details/73527857 改进 # coding=utf-8 import os def makeFil ...

  8. Kafka深度解析(如何在producer中指定partition)(转)

    原文链接:Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能 ...

  9. [leetcode]Max Points on a Line @ Python

    原题地址:https://oj.leetcode.com/problems/max-points-on-a-line/ 题意:Given n points on a 2D plane, find th ...

  10. Pytorch之CrossEntropyLoss() 与 NLLLoss() 的区别

    (三)PyTorch学习笔记——softmax和log_softmax的区别.CrossEntropyLoss() 与 NLLLoss() 的区别.log似然代价函数 pytorch loss fun ...