通过HttpPost发送http请求实现文件上传
通过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请求实现文件上传相关推荐
- Java发送form-data请求实现文件上传
如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...
- android 上传字符串,Android中发送Http请求(包括文件上传、servlet接收)的实例代码...
/** * 通过拼接的方式构造请求内容,实现参数传输以及文件传输 * @param actionUrl * @param params * @param files * @return * @thro ...
- 使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传
httpclient4.3.6 下进行的测试 package org.caeit.cloud.dev.util; import java.io.File; import java.io.IOExcep ...
- java注解接收上传文件_SpringMVC 处理 multipart/data 请求实现文件上传
此前我们介绍过 HTTP 的 multipart/form-data 请求: 通过 multipart/form-data 请求可以方便的实现客户端到服务端的文件上传服务,但是默认的 Dispatch ...
- flask(九)----jquery请求实现文件上传与访问
1.文件上传的html页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...
- Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传
背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...
- 0923-网络 文件上传
---------- 1.SSZipArchive 压缩解压缩 文件 需要手动添加 libz动态库 [SSZipArchive unzipFileAtPath:location.path to ...
- springboot:实现文件上传下载实时进度条功能【附带源码】
0. 引言 记得刚入行的时候,做了一个文件上传的功能,因为上传时间较久,为了用户友好性,想要添加一个实时进度条,显示进度.奈何当时技术有限,查了许久也没用找到解决方案,最后不了了之. 近来偶然想到这个 ...
- PandaJS 使用说明 (1.3): 文件上传与下载
[size=large][align=center][b]PandaJS 使用说明 (1.3): 文件上传与下载[/b][/align][/size] PanadaJS 为文件上传与下载提供了服务器端 ...
最新文章
- 创建一个Android模拟器
- [翻译]ASP.NET AJAX与SharePoint的集成
- 队列判空_数据结构与算法——队列的C语言实现
- Android AutoWrapTextView 解决中英文排版问题
- AO安装需要Microsoft Visual Studio 2013?
- sip gw功能包括_道哥漫谈:大话有趣的SIP通信
- linux出站入站端口维护,linux下如何用iptables开放指定端口_网站服务器运行维护,linux,iptables,端口...
- redis集群的搭建
- CC1310射频芯片的433M无线模块设计
- 监听者模式 java_java监听者模式
- 训练中Loss为Nan的原因,梯度消失或者爆炸的优化
- AndroidのTextView之CompoundDrawable那些坑
- OpenGL 错误获取glGetError()
- 《产品结构设计》——黎恢来,笔记
- Java自定义类创建对象数组并赋值
- 虚拟机突然没网了,虚拟机突然鼠标失灵
- “一线城市,年薪30万+,我却裸辞回老家”一个寒门贵子的10年职业思考
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 很好用的界面设计工具——Balsamiq(转载)
- Arm中国开工礼:iPhone + AirPods Pro,我酸了!