// 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 }