Example #1
0
        public JsonResult ClassifyUrl([FromBody] ClassifyUrlRequestViewModel model)
        {
            try
            {
                var client  = new VisualRecognitionClient(model.ApiKey);
                var request = new VisualRecognitionClassifyUrl(model.Url)
                {
                    Classifiers = model.Classifiers,
                    Owners      = model.Owners,
                    Threshold   = model.Threshold
                };

                var response = client.ClassifyImageUrl(request);
                return(Json(response));
            }
            catch (Exception exc)
            {
                return(JsonError(exc));
            }
        }
Example #2
0
        public VisualRecognitionClassifyResponse ClassifyImageUrl(VisualRecognitionClassifyUrl model)
        {
            var client = new RestClient(Configuration.ApiUrl);

            var requestUrl = new StringBuilder();

            requestUrl.Append($"/classify?api_key={Configuration.ApiKey}&version={Configuration.Version}&url={model.Url}");

            if (model.Threshold.HasValue)
            {
                requestUrl.Append($"&threshold={model.Threshold}");
            }

            if (model.Classifiers != null && model.Classifiers.Any())
            {
                requestUrl.Append($"&classifier_ids={string.Join(",", model.Classifiers)}");
            }

            if (model.Owners != null && model.Owners.Any())
            {
                requestUrl.Append($"&owners={string.Join(",", model.Owners)}");
            }


            // Create a RestRequest and set ContentType to multipart/form-data
            var request = new RestRequest(requestUrl.ToString())
            {
                Method = Method.GET
            };

            request.AddHeader("Content-Type", "multipart/form-data");

            // Execute the API Call
            var response = client.ExecuteSync(request);

            // Handle the Response
            return(HandleRecognitionResponse <VisualRecognitionClassifyResponse>(response));
        }