通过HttpPost发送http请求,实现postman上传文件效果

需要引入:

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

** 关键代码:multipartEntityBuilder.addBinaryBody **

 /*** 发送post请求 (上传文件)* @param url* @param file* @return*/public static String sendPost(String url, MultipartFile file) {// 创建Httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();CloseableHttpResponse response = null;String resultString = "";try {// 创建Http Post请求HttpPost httpPost = new HttpPost(url);MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();multipartEntityBuilder.setMode(HttpMultipartMode.RFC6532);   // 处理中文文件名称乱码multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));multipartEntityBuilder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, file.getName());multipartEntityBuilder.addTextBody("comment", file.getName());HttpEntity httpEntity = multipartEntityBuilder.build();httpPost.setEntity(httpEntity);// 执行http请求response = httpClient.execute(httpPost);resultString = EntityUtils.toString(response.getEntity(), "utf-8");} catch (Exception e) {e.printStackTrace();} finally {try {response.close();} catch (IOException e) {e.printStackTrace();}}return resultString;}

如还需传入其他文本参数:如下图

本人亲自验证有效。

通过HttpPost发送http请求实现文件上传相关推荐

  1. Java发送form-data请求实现文件上传

    如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...

  2. android 上传字符串,Android中发送Http请求(包括文件上传、servlet接收)的实例代码...

    /** * 通过拼接的方式构造请求内容,实现参数传输以及文件传输 * @param actionUrl * @param params * @param files * @return * @thro ...

  3. 使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传

    httpclient4.3.6 下进行的测试 package org.caeit.cloud.dev.util; import java.io.File; import java.io.IOExcep ...

  4. java注解接收上传文件_SpringMVC 处理 multipart/data 请求实现文件上传

    此前我们介绍过 HTTP 的 multipart/form-data 请求: 通过 multipart/form-data 请求可以方便的实现客户端到服务端的文件上传服务,但是默认的 Dispatch ...

  5. flask(九)----jquery请求实现文件上传与访问

    1.文件上传的html页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...

  6. Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传

    背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...

  7. 0923-网络 文件上传

    ---------- 1.SSZipArchive 压缩解压缩 文件   需要手动添加 libz动态库   [SSZipArchive unzipFileAtPath:location.path to ...

  8. springboot:实现文件上传下载实时进度条功能【附带源码】

    0. 引言 记得刚入行的时候,做了一个文件上传的功能,因为上传时间较久,为了用户友好性,想要添加一个实时进度条,显示进度.奈何当时技术有限,查了许久也没用找到解决方案,最后不了了之. 近来偶然想到这个 ...

  9. PandaJS 使用说明 (1.3): 文件上传与下载

    [size=large][align=center][b]PandaJS 使用说明 (1.3): 文件上传与下载[/b][/align][/size] PanadaJS 为文件上传与下载提供了服务器端 ...

最新文章

  1. 创建一个Android模拟器
  2. [翻译]ASP.NET AJAX与SharePoint的集成
  3. 队列判空_数据结构与算法——队列的C语言实现
  4. Android AutoWrapTextView 解决中英文排版问题
  5. AO安装需要Microsoft Visual Studio 2013?
  6. sip gw功能包括_道哥漫谈:大话有趣的SIP通信
  7. linux出站入站端口维护,linux下如何用iptables开放指定端口_网站服务器运行维护,linux,iptables,端口...
  8. redis集群的搭建
  9. CC1310射频芯片的433M无线模块设计
  10. 监听者模式 java_java监听者模式
  11. 训练中Loss为Nan的原因,梯度消失或者爆炸的优化
  12. AndroidのTextView之CompoundDrawable那些坑
  13. OpenGL 错误获取glGetError()
  14. 《产品结构设计》——黎恢来,笔记
  15. Java自定义类创建对象数组并赋值
  16. 虚拟机突然没网了,虚拟机突然鼠标失灵
  17. “一线城市,年薪30万+,我却裸辞回老家”一个寒门贵子的10年职业思考
  18. 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
  19. 很好用的界面设计工具——Balsamiq(转载)
  20. Arm中国开工礼:iPhone + AirPods Pro,我酸了!

热门文章

  1. 融云国产化适配排坑指南
  2. 图像修复方法总结以及深度学习的论文汇总(更新中。。。)
  3. 仓库管理计算机快捷键,通用Excel教你几招常用Excel技巧之:Excel快捷键大集合
  4. 设计模式之装饰者模式(包装模式)
  5. 前端根据不同的值赋予渐变色
  6. Redis基础知识巩固
  7. “做教练”之好声音训练
  8. 解析离线地图包可行性分析
  9. 认识Protel原理图设计环境
  10. Seo搜索引擎排名秘笈