private ImageScannerServiceResponse ScanImage(ImageScannerServiceRequest requests) { //populate json request var jsonRequest = JsonConvert.SerializeObject(requests, new JsonSerializerSettings { ContractResolver = new ShouldSerializeContractResolver() }); //post data var client = new HttpClient(); var targetUri = new Uri(ServiceSettings.GoogleVisionRestApi); var request = new HttpRequestMessage(HttpMethod.Post, targetUri); request.Headers.Add("Accept", "application/json"); request.Content = new StringContent(jsonRequest, Encoding.UTF8, "application/json"); var result = client.SendAsync(request).Result; var jsonResponseContent = result.Content.ReadAsStringAsync().Result; //temp fix ..for enum types inconsistency between Rest API and nuget packages. jsonResponseContent = jsonResponseContent.Replace("EOL_SURE_SPACE", "EOLSURESPACE"); jsonResponseContent = jsonResponseContent.Replace("SURE_SPACE", "SURESPACE"); jsonResponseContent = jsonResponseContent.Replace("LINE_BREAK", "LINEBREAK"); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; var responsesData = JsonConvert.DeserializeObject <ImageScannerServiceResponse>(jsonResponseContent, settings ); return(responsesData); }
private ImageScannerServiceRequest GenerateImageScannerServiceRequest() { //Read Image from Uri and create request obj. var filePath = ServiceSettings.ImageFilePath; //Image Uri path - that need to be scanned. var requests = new ImageScannerServiceRequest(); var requestinfo = new AnnotateImageRequest { Image = Image.FromUri(new Uri(filePath)) }; requestinfo.Features.Add(new Feature { Type = Feature.Types.Type.TextDetection }); requests.requests.Add(requestinfo); return(requests); }