String url = "http://xxxxxxxxxxxxxxx";//服务端要调用的外部接口 CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpPost httpPost = new HttpPost(url); File file = new File(address); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", file, ContentType.parse("image/jpeg"), file.getName()); HttpEntity multipart = builder.build(); httpPost.setEntity(multipart); // 添加 'accessToken' 请求头 访问需要带token则携带token httpPost.setHeader("accessToken", accessToken); CloseableHttpResponse response = httpClient.execute(httpPost); try { int statusCode = response.getStatusLine().getStatusCode(); // 打印响应结果 if (statusCode == HttpStatus.SC_OK) { Gson gson = new Gson(); String resp = EntityUtils.toString(response.getEntity(), "utf-8"); MyResponse myResponse = gson.fromJson(resp, MyResponse.class); System.out.println("status:" + statusCode); System.out.println("result:" + resp); return myResponse.result; } System.out.println(response.getStatusLine()); HttpEntity responseEntity = response.getEntity(); EntityUtils.consume(responseEntity); } finally { response.close(); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } return null;
//响应结果体
static class MyResponse { boolean success; String message; int code; long timestamp; String result; }