1. package com.http;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.UnsupportedEncodingException;
  6.  
  7. import org.apache.http.HttpEntity;
  8. import org.apache.http.HttpResponse;
  9. import org.apache.http.HttpStatus;
  10. import org.apache.http.client.ClientProtocolException;
  11. import org.apache.http.client.HttpClient;
  12. import org.apache.http.client.methods.HttpPost;
  13. import org.apache.http.entity.mime.MultipartEntity;
  14. import org.apache.http.entity.mime.content.FileBody;
  15. import org.apache.http.entity.mime.content.StringBody;
  16. import org.apache.http.impl.client.DefaultHttpClient;
  17. import org.apache.http.util.EntityUtils;
  18. import org.junit.Test;
  19.  
  20. public class HttpClientUtil {
  21.  
  22. @Test
  23. public void testHttp() {
  24. //创建HttpClient对象
  25. HttpClient client = new DefaultHttpClient();
  26. //构建POST请求 请求地址请更换为自己的。
  27. //1)
  28. HttpPost post = new HttpPost("XX");
  29. File file=new File("C:\\Users\\admin\\Desktop\\xidada.jpg");
  30. FileBody fileBody=new FileBody(file);
  31. try {
  32. StringBody name = new StringBody("xidada.jpg");
  33. MultipartEntity reqEntity = new MultipartEntity();
  34. StringBody bucketId = new StringBody("402880bd66a545e90166a545f3700000");
  35. reqEntity.addPart("bucketId", bucketId);//对应接口端的参数名称
  36. reqEntity.addPart("name", name);
  37. reqEntity.addPart("file", fileBody);//file1为请求后台的File upload;属性
  38. post.setEntity(reqEntity);
  39. HttpResponse response = client.execute(post);
  40. int statusCode = response.getStatusLine().getStatusCode();
  41. if(statusCode == HttpStatus.SC_OK){
  42.  
  43. System.out.println("服务器正常响应.....");
  44.  
  45. HttpEntity resEntity = response.getEntity();
  46.  
  47. System.out.println(EntityUtils.toString(resEntity));//httpclient自带的工具类读取返回数据
  48. System.out.println(resEntity.getContent());
  49. EntityUtils.consume(resEntity);
  50. }
  51. }catch (UnsupportedEncodingException e) {
  52.  
  53. e.printStackTrace();
  54. } catch (ClientProtocolException e) {
  55.  
  56. e.printStackTrace();
  57. } catch (IOException e) {
  58.  
  59. e.printStackTrace();
  60. }
  61.  
  62. }
  63. }

httpclient-4.2.2.jar
httpcore-4.2.2.jar
httpmime-4.2.2.jar

HTTPclient 4.2.2 传参数和文件流的更多相关文章

  1. 利用WebClient上传参数及文件流到远程ashx服务

    原文 利用WebClient上传参数及文件流到远程ashx服务 1 思路: WebClient.UploadFile()方法可以上传文件:UploadData()方法可以上传数据参数:如何合二为一既上 ...

  2. 解压上传的zip文件流和文件

    /** * 解压上传的zip文件流 * @param stream * @param outputDirectory */ public static String unzip(InputStream ...

  3. HttpClient通过Post上传多个文件

    public static String sendFilesPost(String url, String fileNames) { HttpClient httpClient = null; Htt ...

  4. C#文件上传类,文件流,字节数组等

    using System;using System.IO;using System.Web;using System.Web.UI.WebControls; namespace DotNet.Util ...

  5. js要怎么接收后端传的excel文件流?

    方法1: 无需js,直接用a标签去接你的输出流 <a href="<你的返回流的Action路径>" >下载</a> 方法2:使用js,前提是你 ...

  6. Vue接收后端传过来excel表格的文件流并下载

    题外话:当接收文件流时要确定文件流的类型,但也有例外就是application/octet-stream类型,主要是只用来下载的类型,这个类型简单理解意思就是通用类型类似 var .object.ar ...

  7. HttpClient通过Post上传文件(转)

    在之前一段的项目中,使用Java模仿Http Post方式发送参数以及文件,单纯的传递参数或者文件可以使用URLConnection进行相应的处理. 但是项目中涉及到既要传递普通参数,也要传递多个文件 ...

  8. HttpClient 4.3.* 上传带中文文件名文件文件名乱码问题的解决

    又是折腾了一天才解决的问题,网上关于这个问题的资料不多,希望写出来能帮到有需要的人. 之前无论怎么设置charset都不起作用, 后来看了这篇文章 才发现MultipartEntityBuilder有 ...

  9. HttpClient以json形式的参数调用http接口并对返回的json数据进行处理(可以带文件)

    1.参数的url就是被调用的地址,map是你要传的参数.参数转成json我使用的是gson方式转换的. 主要使用的jar包有httpclient-4.5.3.jar.httpcore-4.4.6.ja ...

随机推荐

  1. Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)

    业务需求 实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控. 1)给定一个appName,根据appName从yarn application -list中验证任务是 ...

  2. Centos如何安装163yum源

    如果Centos使用系统自带的yum源,在用yum进行安装的时候,速度会受到限制,所以我们需要替换为国内的yum源,一般会选择163源,速度比较快包也比较全,使用yum进行安装的时候可以大大节省时间 ...

  3. git中提示 please tell me who you are

    提示也就是需要你登录一下,确认你的身份,但是不要按照其提示输入,先输入命令git config user.name “username”,换行输入git config user.email “emai ...

  4. shell编程学习笔记(九):Shell中的case条件判断

    除了可以使用if条件判断,还可以使用case 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts # vim script08.sh 开始编写scrip ...

  5. URL参数编码

    简单明了区分escape.encodeURI和encodeURIComponent 一.前言讲这3个方法区别的文章太多了,但是大部分写的都很绕.本文试图从实践角度去讲这3个方法. 二.escape和它 ...

  6. 【转载】浅谈事件冒泡与事件捕获 - javascript 事件代理

    原文:https://segmentfault.com/a/1190000000749838 事件冒泡与事件捕获 事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发 ...

  7. Kafka#4:存储设计 分布式设计 源码分析

    https://sites.google.com/a/mammatustech.com/mammatusmain/kafka-architecture/4-kafka-detailed-archite ...

  8. Docker容器启动lnmp环境下的mysql服务时报"MySQL server PID file could not be found"错误解决办法

    我在自己的mac笔记本上装了一个docker,并在docker容器中安装了lnmp环境,经常会遇到在使用"lnmp restart"命令启动lnmp服务的时候,mysql服务启动失 ...

  9. Intellij 高亮显示与选中字符串相同的内容

    如下图所示,我的是 2018,不同版本,Schema 可能要 Save As一下

  10. 当 return 遇到 try

    . . . . . 今天有同事和我探讨在群里看到的一道有趣的题目,在探讨的过程中让我搞清楚了一些曾经模糊的概念,特此记录下来. 题目给出如下代码,问运行后打印的结果是什么. public static ...