ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

httpclient发送文件

2021-08-12 22:35:44  阅读:199  来源: 互联网

标签:文件 builder 发送 header httpPost new httpClient response httpclient


maven坐标

<dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
       <version>4.5.13</version>
</dependency>
<dependency>
     <groupId>org.apache.httpcomponents</groupId>
     <artifactId>httpmime</artifactId>
     <version>4.5.13</version>
</dependency>
              

代码示例

 1   @Test
 2     public void test09() throws IOException {
 3         String requestUrl = "xxxxx";
 4         CloseableHttpClient httpClient = HttpClients.createDefault();
 5         HttpPost httpPost = new HttpPost(requestUrl);
 6         Person person = new Person("强强", "19");
 7         StringBody stringBody = new StringBody(JSONObject.toJSONString(person), ContentType.APPLICATION_JSON);
 8 
 9         MultipartEntityBuilder builder = MultipartEntityBuilder.create();
10         builder.setCharset(Consts.UTF_8); // 设置编码
11         builder.setContentType(ContentType.create("multipart/form-data", Consts.UTF_8)); // 传递文件
12         builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); // 设置浏览器的模式(否则文件名乱码)
13 
14         // 对于普通的表单字段如果含有中文的话,不能通过addTextBody,否则乱码s
15         builder.addBinaryBody("files",
16                 new FileInputStream(new File("强强.txt")),
17                 ContentType.MULTIPART_FORM_DATA,
18                 "强强.txt");
19         builder.addPart("person", stringBody);
20         HttpEntity build = builder.build();
21         httpPost.setEntity(build);
22         CloseableHttpResponse response = httpClient.execute(httpPost);
23         HttpEntity entity = response.getEntity();
24         if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {
25             System.out.println("请求成功!");
26             for (Header header : response.getAllHeaders()) {
27                 System.out.println(header.getName() + "  " + header.getValue());
28 
29             }
30         }
31         // 确保流关闭
32         EntityUtils.consume(entity);
33         response.close();
34         httpClient.close();
35     }

 

标签:文件,builder,发送,header,httpPost,new,httpClient,response,httpclient
来源: https://www.cnblogs.com/ncyj/p/15135123.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有