http post multipart/mixed的文件.
2024-08-27 04:56:12
依赖.
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<!-- <version>4.5.3</version> -->
</dependency>
import java.io.File;
import java.io.IOException; import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils; public class TestMultiPartUpload { /**
* TODO 方法说明。
*
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException { CloseableHttpClient httpClient = HttpClientBuilder.create().build();
try { HttpPost post = new HttpPost("http://127.0.0.1:8080/mypath/test"); post.setHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;)");
post.setHeader("charset", "utf-8");
String token = "4dc6098e-d584-4883-a4e7-45adc5xxxxxx";
post.setHeader("Authorization", "Bearer " + token);
post.setHeader("Accept", "application/json");
// post.setHeader("Content-Type", "multipart/mixed;boundary=----QWERTYUIO");
FileBody img1 = new FileBody(new File("D:/img/1.jpg"), ContentType.create("image/jpeg"), "1.jpg");
FileBody img2 = new FileBody(new File("D:/img/4.jpg"), ContentType.create("image/jpeg"), "4.jpg"); StringBody meta = new StringBody("{ \"key1\":\"v1\"; \"key2\":\"v2\" }", ContentType.APPLICATION_JSON); HttpEntity reqEntity = MultipartEntityBuilder.create()
.addPart("files", img1)
.addPart("files", img2)
//.addPart("story", meta).setBoundary("----QWERTYUIO")
.addPart("story", meta)
.build(); post.setEntity(reqEntity); CloseableHttpResponse response = httpClient.execute(post);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
System.out.println("Response content: " + InputStreamUtil.toString(resEntity.getContent()));
System.out.println("Response content length: " + resEntity.getContentLength());
}
EntityUtils.consume(resEntity);
} finally {
response.close();
} } finally {
httpClient.close();
} } }
最新文章
- [转]序列化悍将Protobuf-Net,入门动手实录
- Linux系统的理解及学习Linux内核的心得
- Mybatis拦截器 mysql load data local 内存流处理
- 分位数(quantile)
- Ubuntu 14.04 安装nVidia驱动后不能进入图形界面的恢复过程
- Html之初体验
- UITableViewCell Property “icon” cannot be found in forward class object “DJWeiBo”
- Oracle笔记(十三) 视图、同义词、索引
- Python经常使用第三方工具、库、骨架
- javascript获取json对象的key名称的两种方法
- iis部署php项目
- 《深入理解计算机系统》第7章:重定位PC相对引用的理解
- golang实现障碍、转弯最少的A*寻路
- Springboot定时任务原理及如何动态创建定时任务
- Linux命令行下快捷键
- PHP 获取周,月列表
- node.js中对Event Loop事件循环的理解
- Design-341. Flatten Nested List Iterator
- IO综合练习--文件切割和文件合并
- webpack4.26的详细配置,包含babel, eslint, postcss, 及各种所需loader,内含大量注释
热门文章
- c++ 多个线程读一个线程写同步
- XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机
- 归并排序(C++实现)
- ROS学习(七)—— 理解ROS Topic
- IDEA使用笔记(三)——小齿轮的显示和隐藏(Autoscroll from Source)
- 【C语言】字符串常量与指针
- 安卓 AsyncHttpClient - “Content-Type not allowed!”
- 【蓝桥杯】PREV-21 回文数字
- VMware Linux 共享文件夹 虚拟机无共享文件解决方法
- mysql错误号代表的含义