public static String httpClientUploadFile(String url, File file) {

CloseableHttpClient httpClient = HttpClients.createDefault();

String result = "";

//每个post参数之间的分隔。随意设定,只要不会和其他的字符串重复即可。

String boundary ="--------------4585696313564699";

try {

//文件名

String fileName = file.getName();

HttpPost httpPost = new HttpPost(url);

//设置请求头

httpPost.setHeader("Content-Type","multipart/form-data; boundary="+boundary);

//HttpEntity builder

MultipartEntityBuilder builder = MultipartEntityBuilder.create();

//字符编码

builder.setCharset(Charset.forName("UTF-8"));

//模拟浏览器

builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

//boundary

builder.setBoundary(boundary);

//multipart/form-data

builder.addPart("multipartFile",new FileBody(file));

// binary

// builder.addBinaryBody("name=\"multipartFile\"; filename=\"test.docx\"", new FileInputStream(file), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流

//其他参数

builder.addTextBody("filename", fileName, ContentType.create("text/plain", Consts.UTF_8));

//HttpEntity

HttpEntity entity = builder.build();

httpPost.setEntity(entity);

// 执行提交

HttpResponse response = httpClient.execute(httpPost);

//响应

HttpEntity responseEntity = response.getEntity();

if (responseEntity != null) {

// 将响应内容转换为字符串

result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));

}

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

httpClient.close();

} catch (IOException e) {

e.printStackTrace();

}

}

System.err.println("result"+result);

return result;

}

//main 方法

public static void main(String[] args) {

httpClientUploadFile("http://127.0.0.1:8080/upload",new File("d:/test/test.docx"));

}

java httpclient post 上传文件_httpclient通过post multipart/form-data 上传文件相关推荐

  1. python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载的文件的URL(chunks)...

    是否有机会通过API端点上传文件,该端点将多部分/表单数据作为只有该文件URL的内容类型?在 规则: 将整个文件下载到内存中,然后由这个端点上传不是一个选项(不能保证这个盒子会足够大来容纳一个临时文件 ...

  2. java 写tb级文件_三管齐下!TB 级文件的上传性能瞬间被优化 100 倍!

    作者 | 中华石杉 责编 | 伍杏玲 本文经授权转载石杉的架构笔记(ID:shishan100) 这篇文章我们来看看,世界上最优秀的分布式文件系统HDFS,是如何对超大文件的上传做性能优化的? 首先, ...

  3. Java微信浏览器上传文件使用Base64方法(增加压缩上传方法)

            如果要兼容微信端的浏览器,需要将图片转化成Base64这种格式后,并传给服务器进行处理.如要注意一下几个方面.         1.只允许拍照的图片上传.     <input  ...

  4. java spring js文件_005-html+js+spring multipart文件上传

    一.概述 需求:通过html+js+java上传最大500M的文件,需要做MD5 消息摘要以及SHA256签名,文件上传至云存储 1.1.理解http协议 https://www.cnblogs.co ...

  5. java上传文件限制大小_Java Web:附件上传,两种文件上传限制格式及大小方法,学习笔记文件操作【诗书画唱】...

    附件上传: package com.jy.controller; import java.io.File; import java.io.FileOutputStream; import java.i ...

  6. html上传文件与后台处理,关于前端html图片和文件上传和后台接收方法

    前些时间项目和h5交互时涉及到了文件上传的一个功能,但是h5在写上传的时候总是上传不上,所以花时间专门看了下web端的文件上传记录下. 第一种是前端写的,拿来修改了下,这种方法在上传的时候需要用到jq ...

  7. java多图片上传插件,Bootstrap中的fileinput 多图片上传及编辑功能

    Bootstrap中的fileinput 多图片上传及编辑功能 2019-01-01 编程之家收集整理的这篇文章主要介绍了Bootstrap中的fileinput 多图片上传及编辑功能,编程之家小编觉 ...

  8. 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云

    最近在做一个项目,涉及到腾讯云上传文件/图片到服务器,为了图方便并且提升访问速度,想着上传到腾讯云存储桶是一个不错的选择.腾讯云存储桶的创建可见我之前的文章. 当然存储桶里面不仅可以存图片,也可以存储 ...

  9. h5如何上传文件二进制流_Hadoop如何将TB级大文件的上传性能优化上百倍?

    这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化. 首先,我们还是通过一张图来回顾一下文件上传的大概的原理. 由上图所示,文件上传的原理,其实说出来也简单. 比如有个TB ...

最新文章

  1. shell中数字大小的比较
  2. python3 base64 长度补全
  3. 科大星云诗社动态20210901
  4. Java异常处理基础
  5. sublime自定义主题-修改行号的颜色
  6. php ouput buffer,Redis配置详解-客户端缓冲区 output buffer
  7. 无需深厚技术背景,也可以做好系统和应用维护管理
  8. 期刊投稿状态_这些SCI期刊的投稿显示状态是什么意思?
  9. Spring+Hibernate 零散知识点
  10. xilinx sdk打开库函数查看具体定义Open Declaration或者ctrl+鼠标左键
  11. OpenCV 尺度不变特征检测:SIFT、SURF、BRISK、ORB
  12. 2021年3月勒索病毒流行态势分析
  13. python turtle graphics自动关闭_解决Pycharm调用Turtle时 窗口一闪而过的问题
  14. 6.6 RTC Dev Meetup|开发者硬核个人成长指南——如何领先于80% 的同行?
  15. 女生学计算机和遥感哪个好就业,遥感科学与技术有性别歧视吗知乎
  16. Hadoop Shell 命令详解
  17. 如何使用Frontline实时抓取蓝牙协议栈HCI LOG
  18. android高仿小米时钟,Android仿小米时钟效果
  19. python中用函数编写程序_python编写程序,在程序中定义一个函数,计算1+1/2+1/3+1/4+……+1/n...
  20. 2023年贵州省职业技能大赛“网络安全” 项目比赛任务书

热门文章

  1. Angular应用从Component到Html的数据绑定是如何实现的 -数据流的讨论
  2. 一个Angular应用开发的辅助Visual Studio Code扩展 - Dependency Tree
  3. SAP Spartacus产品数据HTTP GET请求前的OPTIONS请求
  4. 重构老系统遗留代码的一些方法学习笔记
  5. 如何使用API的方式消费SAP Commerce Cloud的订单服务
  6. SAP UI5 testFLPService - local run will start mock server
  7. windows系统上openssh client的离线安装
  8. 如何解决SAP Structure CMST_SI_ENQ的DDIC_TYPE_INCONSISTENCY问题
  9. How is SAP CRM employee responsible being determined
  10. standalone vue initialization process - Vue应用的初始化过程