Esempio n. 1
0
        public async Task <HttpResponseMessage> Download(string templateName)
        {
            BusinessService bizService = new BusinessService(Client);

            CloudBlockBlob blob = bizService.Download(templateName);

            var blobExists = await blob.ExistsAsync();

            if (!blobExists)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "File not found"));
            }

            HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);
            Stream blobStream           = await blob.OpenReadAsync();

            message.Content = new StreamContent(blobStream);
            message.Content.Headers.ContentLength      = blob.Properties.Length;
            message.Content.Headers.ContentType        = new System.Net.Http.Headers.MediaTypeHeaderValue(blob.Properties.ContentType);
            message.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
            {
                FileName = blob.Name,
                Size     = blob.Properties.Length
            };

            return(message);
        }