使用HttpClient转发请求
使用HttpClient转发请求
转发MultipartFile文件流请求
- pom相关依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.4</version>
</dependency>
- post方法
/**
@param url 请求的地址
@param equipment 其他formData数据
@param file 转发的流文件
@param token 验证身份信息
*/
public String postMultipart(String url, String equipment, MultipartFile file, String token) {
String result = null;
try {
//提取到文件名
String fileName = file.getName();
//转换成文件流
InputStream is = file.getInputStream();
//接收文件的服务器地址
String uploadURL = serviceUri+url;
//创建HttpClient
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(uploadURL);
httpPost.setHeader("token",token);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
/*绑定文件参数,传入文件流和contenttype,此处也可以继续添加其他formdata参数*/
builder.addBinaryBody("excelFile",is, ContentType.MULTIPART_FORM_DATA,fileName);
builder.addTextBody("equipment",equipment);
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
//执行提交
HttpResponse response = httpClient.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
//将响应的内容转换成字符串
result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));
if(is != null){
is.close();
}
}catch (Exception ex){
ex.printStackTrace();
}
return result;
}
本文来自博客园,作者:芏筄,转载请注明原文链接:https://www.cnblogs.com/MiaoStudy/p/16598396.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!