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); }