public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req, [Blob("raw/new", FileAccess.Write, Connection = "StorageBlobConnectionString")] CloudBlobContainer outputContainer, ILogger log) { log.LogInformation("C# HTTP trigger function processed an upload photo request."); try { PhotoDetails photo = (PhotoDetails)await req.Content.ReadAsAsync <PhotoDetails>(); if (photo == null) { return(req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")); } var bytes = Convert.FromBase64String(photo.ImageAsBase64Str); var outputImage = new MemoryStream(bytes); //NOTE: Bindings for some reason seem to error when you specify "{name}". var blob = outputContainer.GetBlockBlobReference($"{photo.Filename}"); await blob.UploadFromStreamAsync(outputImage); return(req.CreateResponse(HttpStatusCode.OK, "Hello " + photo.DeviceId)); } catch (Exception ex) { return(req.CreateResponse(HttpStatusCode.BadRequest, "No")); } }
public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req, TraceWriter log, [Blob("sample-images-md/{name}", FileAccess.Write)] Stream rawImages) { log.Info("C# HTTP trigger function processed a request."); PhotoDetails photo = (PhotoDetails)await req.Content.ReadAsAsync <PhotoDetails>(); return(photo == null ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body") : req.CreateResponse(HttpStatusCode.OK, "Hello " + photo.DeviceId)); }