Search code examples
javakairos-api

How to enroll image on Kairos Cloud using Java?


I am using Kairos API, for face recognized. I want to upload image on Kairos Cloud. I got an error one or more subject required. Bellow My code

//passing from jsp page
MultipartFile file = enoroll.getImage();
byte[] image = file.getBytes();
getId = 102;
                String imageString = Base64.getEncoder().encodeToString(image);

                imageString.replaceAll("\"", "\"");
                Client client = ClientBuilder.newClient();
                @SuppressWarnings("rawtypes")
                Entity payload = Entity.json("{  \"image\": \"" + imageString + "\",  \"subject_id\": \"" + getId
                        + "\",  \"gallery_name\": \"test\"}");
                Response response = client.target("https://api.kairos.com/enroll")
                        .request(MediaType.APPLICATION_JSON_TYPE).header("app_id", "3624f882")
                        .header("app_key", "f2e9b87b4ae5d406ae704973563100e9").post(payload);

Solution

  • Refer Kairos Sample

        import javax.ws.rs.client.Client;
        import javax.ws.rs.client.ClientBuilder;
        import javax.ws.rs.client.Entity;
        import javax.ws.rs.core.Response;
        import javax.ws.rs.core.MediaType;
        Client client = ClientBuilder.newClient();
        Entity payload = Entity.json("{  'image': 'http://media.kairos.com/kairos- 
     elizabeth.jpg',  'subject_id': 'Elizabeth',  'gallery_name': 'MyGallery'}");
       Response response = client.target("https://api.kairos.com/enroll")
      .request(MediaType.APPLICATION_JSON_TYPE)
      .header("app_id", "4985f625")
      .header("app_key", "aa9e5d2ec3b00306b2d9588c3a25d68e")
      .post(payload);
    
    System.out.println("status: " + response.getStatus());
    System.out.println("headers: " + response.getHeaders());
    System.out.println("body:" + response.readEntity(String.class));