直接上代码,如下:
public static String doPostForFromData(String uriAPI, JSONObject jsonHeads, File localFile) {
logger.info("-----doPostForFromData--------------jsonHeads:" + jsonHeads);
String result = "";
try {
HttpPost httpRequst = new HttpPost(uriAPI);
if (null != jsonHeads) {
Iterator headsKeys = jsonHeads.keys();
while(headsKeys.hasNext()) {
String key = headsKeys.next().toString();
String value = jsonHeads.getString(key);
httpRequst.addHeader(key, value);
}
}
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
FileBody file = new FileBody(localFile);
builder.addPart("file", file);
HttpEntity entity = builder.build();
httpRequst.setEntity(entity);
HttpResponse httpResponse = HttpClients.createDefault().execute(httpRequst);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
result = EntityUtils.toString(httpEntity);
logger.info("-----doPostForFromData--------------result:" + result);
} else if (httpResponse.getStatusLine().getStatusCode() == 400) {
logger.info("-----doPostForFromData--------------result:400:请求参数有误");
}
} catch (Exception e) {
logger.error("-----doPostForFromData--------------error:" + e);
result = e.getMessage();
}
return result;
}
所需依赖:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
如有问题可私聊留言哦!