public async Task <dynamic> AnalyzeImage() { using (var image = Request.Form.Files.First().OpenReadStream()) { return(await _computerVision.AnalyzeImage(image)); } }
public static async Task <IActionResult> Run( //HTTP Trigger (Functions allow only a single trigger) [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] NewRequest <SmartDoc> newRequest, // Inputs [Blob("smartdocs/{RequestItem.DocName}", FileAccess.Read, Connection = "SmartDocsStorageConnection")] byte[] smartDocImage, // Logger ILogger log) { string stepName = InstructionFlag.AnalyzeImage.ToString(); log.LogInformation($"***New {stepName} Direct-HTTP Request triggered: {{InstructionFlag.FaceAuthentication.ToString()}}"); if (httpClient == null) { httpClient = new HttpClient(); } try { var result = await ComputerVisionService.AnalyzeImage(httpClient, smartDocImage); var resultJson = JsonConvert.SerializeObject(result); //Update the request information with the newly processed data newRequest.RequestItem.CognitivePipelineActions.Add(new ProcessingStep { StepName = stepName, LastUpdatedAt = DateTime.UtcNow, Output = resultJson, Status = SmartDocStatus.ProccessedSuccessfully.ToString() }); return((ActionResult) new OkObjectResult(newRequest)); } catch (Exception ex) { newRequest.RequestItem.CognitivePipelineActions.Add(new ProcessingStep { StepName = InstructionFlag.AnalyzeText.ToString(), LastUpdatedAt = DateTime.UtcNow, Output = ex.Message, Status = SmartDocStatus.ProccessedSuccessfully.ToString() }); return((ActionResult) new BadRequestObjectResult(newRequest)); } }