// File文件转换为base64编码
1 public static String encodeBase64File() throws Exception {
2     File file = new File("D:\\镜像包\\反光衣图片001391.jpg");
3     FileInputStream inputFile = new FileInputStream(file);
4     byte[] buffer = new byte[(int)file.length()];
5     inputFile.read(buffer);
6     inputFile.close();
7     return new BASE64Encoder().encode(buffer);
8 }

服务调用示例:

1  public static void main(String[] args) throws Exception {
 2         File file = new File("D:\\镜像包\\反光衣图片\\001391.jpg");
 3         //file文件转换为base64编码
 4         FileInputStream inputFile = new FileInputStream(file);
 5         byte[] buffer = new byte[(int)file.length()];
 6         inputFile.read(buffer);
 7         inputFile.close();
 8         String base =  new BASE64Encoder().encode(buffer);
 9         //封装参数
10         Map<String, Object> paramMap = new HashMap<>();
11         paramMap.put("image", base);
12         paramMap.put("image_type", "BASE64");
13         String baseurl = "http://114.116.125.146:5001";
14         String url = baseurl + "/rest/1.0/demo";
15         try {
16 
17             System.out.println(paramMap);
18 
19             //RestTemplate 实例化过程发现默认的RestTemplate 只支持application/json格式,所以需要手动补充text/html格式
20             RestTemplate restTemplate = new RestTemplate();
21             MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
22             mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(
23                     MediaType.TEXT_HTML,
24                     MediaType.TEXT_PLAIN));
25             restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
26             //识别
27             ResponseEntity<net.sf.json.JSONObject> responseEntity = restTemplate.postForEntity(url, paramMap, net.sf.json.JSONObject.class);
28             net.sf.json.JSONObject jsonObject = responseEntity.getBody();
29             String result = jsonObject.getString("result");
30         } catch (Exception e) {
31             e.printStackTrace();
32         }
33     }