Beispiel #1
0
        public VisualRecognitionClassifyResponse ClassifyImageFile(VisualRecognitionClassifyRequestFile model)
        {
            var client = new RestClient(Configuration.ApiUrl);

            var requestUrl = new StringBuilder();

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

            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)}");
            }

            var request = new RestRequest(requestUrl.ToString())
            {
                Method = Method.POST
            };

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

            request.AddFile("image_file", model.File.Stream.ReadFully(), model.File.Name);

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

            // Handle the Response
            return(HandleRecognitionResponse <VisualRecognitionClassifyResponse>(response));
        }
Beispiel #2
0
        public JsonResult ClassifyFile([FromForm] string apiKey, string[] classifiers, string[] owners, double?threshold, IFormFile file)
        {
            try
            {
                var client = new VisualRecognitionClient(apiKey);
                using (var stream = file.OpenReadStream())
                {
                    var request = new VisualRecognitionClassifyRequestFile(stream, file.FileName)
                    {
                        Classifiers = classifiers,
                        Owners      = owners,
                        Threshold   = threshold
                    };

                    var response = client.ClassifyImageFile(request);
                    return(Json(response));
                }
            }
            catch (Exception exc)
            {
                return(JsonError(exc));
            }
        }