/**
*
*form表单提交(带附件)
*
*
*/
public static String doPost(String url, Map<String, Object> paramsMap, Map<String, Object> hearderMap, List<MultipartFile> list) throws Exception {
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
multipartEntityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));
String resultString ="";
try {
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
for (Map.Entry<String, Object> a : hearderMap.entrySet()) {
httpPost.addHeader(a.getKey(), a.getValue().toString());
}
//传参
if (!StringUtils.isEmpty(paramsMap) && !paramsMap.isEmpty()) {
for (Object o : paramsMap.keySet()) {
multipartEntityBuilder.addPart(o.toString(),
new StringBody(new String(paramsMap.get(o).toString().getBytes("utf-8"), "utf-8"),
ContentType.create("text/plain", Consts.UTF_8)));
}
}
//流文件入参
if (!StringUtils.isEmpty(list) && !list.isEmpty()) {
for (MultipartFile s : list) {
if(!StringUtils.isEmpty(s)){
multipartEntityBuilder.addBinaryBody("file", s.getInputStream(), ContentType.create("multipart/form-data",Consts.UTF_8), s.getOriginalFilename());
}
}
}
HttpEntity httpEntity = multipartEntityBuilder.build();
httpPost.setEntity(httpEntity);
// 执行http请求
response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
resultString = EntityUtils.toString(response.getEntity(), "utf-8");
} finally {
if (response != null) {
response.close();
}
}
return resultString ;
}
HttpClientUtil 表单提交带附件
最新推荐文章于 2023-08-18 13:52:36 发布