java 将File文件转换为base64编码
// 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 }