JAVA POST key-value 带文件 请求封装
所需jar 包下载地址
httpmine jar包
httpclient jar包
/**
* HttpPost(key-value格式)带文件请求
* @param url 请求地址
* @param params 请求参数 (map)
* @param file 请求文件
* @return 字符串
*/
public static String sendMapPost(String url, Map<String,String> params, File file) {
String result= null;
TokenManage tokenManage = new TokenManage();
String token = tokenManage.getTokenResult();
if(null==token || "".equals(token)){
return null;
}
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);// 请求地址
MultipartEntityBuilder meb = MultipartEntityBuilder.create();
ContentType strContent = ContentType.create("application/json", Charset.forName("UTF-8"));
httpPost.setHeader("Authorization",token);
if(file.exists()){
meb.addBinaryBody("file", file);
}
params.forEach((k,v)->{
meb.addTextBody(k, v, strContent);// 参数
});
HttpEntity httpEntity = meb.build();
httpPost.setEntity(httpEntity);
try {
StringBuilder sb = new StringBuilder();
String line;
HttpResponse httpResponse = httpClient.execute(httpPost);
InputStream inputStream = httpResponse.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
while ((line = br.readLine()) != null) {
sb.append(line);
}
result = URLDecoder.decode(sb.toString(),"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}