文档章节

httpClient 文件上传

@ccny
 @ccny
发布于 2016/03/20 15:32
字数 184
阅读 118
收藏 7
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8081/fileManage/fileUpload/imageFileUploadTwo");
File file = new File("/Users/liushuaic/Desktop/屏幕快照 2016-01-08 17.04.33.png");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
//设置请求模式,不清楚。具体的作用, 有知道的说一下啊。
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
//设置提交的文件
builder.addBinaryBody("files", file, ContentType.DEFAULT_BINARY, file.getName());
//设置一起提交的,key:value
builder.addTextBody("fileGroup", "headImage");
//设置编码格式
Charset charset=Charset.forName("utf-8");
builder.setCharset(charset);
//创建一个 数据对象(表单)
HttpEntity entity = builder.build();
//设置 发送的数据对象
httpPost.setEntity(entity);
System.out.println("Executing request " + httpPost.getRequestLine());
// Create a custom response handler
ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
  int status = response.getStatusLine().getStatusCode();
  if (status >= 200 && status < 300) {
   HttpEntity entity = response.getEntity();
   System.out.println(entity.toString());
   return entity != null ? EntityUtils.toString(entity) : null;
  } else {
   throw new ClientProtocolException("Unexpected response status: " + status);
  }
 }
};
String responseBody = httpclient.execute(httpPost, responseHandler);

 

 

© 著作权归作者所有

共有 人打赏支持
@ccny

@ccny

粉丝 14
博文 113
码字总数 26797
作品 0
东城
架构师
私信 提问
一个c#的与web服务器交互的HttpClient类

.Net类库里提供了HttpWebRequest等类,方便我们编程与Web服务器进行交互. 但是实际使用中我们经常会遇到以下需求, 基础类里没有直接提供相应的功能 (WebClient类包含这些功能,只是用起来稍微麻...

鉴客
2011/12/16
3.1K
1
HttpClient, 使用C#操作Web

我们知道, .Net类库里提供了HttpWebRequest等类,方便我们编程与Web服务器进行交互. 但是实际使用中我们经常会遇到以下需求, 基础类里没有直接提供相应的功能 ( WebClient类包含这些功能,只是...

鉴客
2011/12/16
980
0
httpmime.jar 包是啥用的以及所依赖的包

httpclient通过POST来上传文件,而不是通过流的形式,并在服务端进行解析(通过httpmime.jar来操作) 这个文件是你将文件上传到服务器上的时候,所需要的文件,另外httpmine对httpclient等包有...

Oscarfff
2015/04/15
0
0
android httpurlconnection 同时上传文件和json

因为以前使用httpclient和服务端交互,在上传文件和json报文参数的时候,采用放在一起提交的。 因为后面sdk api23要摈弃httpclient了,我打算用httpurlconnection 替换httpclient,但是,我希...

天王盖地虎626
2016/04/08
352
2
【J2EE系列】HttpClient 学习整理 [转]

HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放...

磊神Ray
2012/01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AWS的自动部署工具codedeploy 负载均衡器和github

Elastic Load Balancing 提供了三种可用于 CodeDeploy 部署的负载均衡器:Classic Load Balancer、Application Load Balancer 和 Network Load Balancer。 传统负载均衡器 路由和负载均衡在传...

守护-创造
25分钟前
3
0
Docker 使用简介

Docker 是使用 GoLang 开发的开源容器引擎,可以方便的打包开发好的应用,然后分发到任意 linux 主机上。 与传统的虚拟机相比拥有以下优势: 高效的系统资源利用率 由于不需要进行硬件虚拟和...

YanWen
28分钟前
2
0
linux多线程编程,你还在用sleep么?用pthread_cond_timedwait吧

gnal(&cond); pthread_mutex_unlock(&mutex); printf(“Wait for thread to exit\n”); pthread_join(thread, NULL); printf(“Bye\n”); return 0; } 说明(翻译摘要中提供的连接,翻译的不好......

shzwork
36分钟前
1
0
MacOS源码编译安装 PostgreSQL

编译环境 Mac OSX 下只要装了 Xcode 就行,所有编译需要的工具和类库都有了。CentOS 下需要安装下面的软件包。 $ sudo yum install make gcc readline-devel zlib-devel flex bison 如果是从...

FeanLau
47分钟前
2
0
Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。 使用...

程序猿DD
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部