示例#1
0
        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));
        }