public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log, ExecutionContext context) { log.LogInformation("C# HTTP trigger function processed a request."); #region Process parameters string fileName = req.Query["fileName"]; if (String.IsNullOrEmpty(fileName)) { log.LogInformation("Mandatory parameter omitted."); return(new BadRequestResult()); } log.LogInformation($"Uploading file {fileName}"); #endregion #region Load configuration var configBuilder = new ConfigurationBuilder() .SetBasePath(context.FunctionAppDirectory) .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); var config = new ConnectorConfig(configBuilder); #endregion #region Download file string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); byte[] byteArray = Encoding.ASCII.GetBytes(requestBody); MemoryStream stream = new MemoryStream(byteArray); await _azurestorage.UploadAsync(config, fileName, stream); var responseMessage = string.IsNullOrEmpty(fileName) ? "This HTTP triggered function executed successfully. Pass a name in the query string and the file in the request body." : $"Hello, This HTTP triggered function executed successfully {fileName}."; return(new OkObjectResult(responseMessage)); #endregion }