using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace TestAppForUploadingBlobFile
static async Task Main(string[] args)
string storageConnectionString = "your conn string";
string containerName = "containername";
string pdfUrl = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";
string blobName = Guid.NewGuid().ToString() + ".pdf";
using (HttpClient httpClient = new HttpClient())
using (HttpResponseMessage response = await httpClient.GetAsync(pdfUrl))
response.EnsureSuccessStatusCode();
using (Stream contentStream = await response.Content.ReadAsStreamAsync())
await UploadBlobWithMetadataAsync(storageConnectionString, containerName, blobName, contentStream);
Console.WriteLine("Upload completed. "+ blobName);
public static async Task UploadBlobWithMetadataAsync(string storageConnectionString, string containerName, string blobName, Stream stream)
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);
blockBlob.Properties.ContentEncoding = null;
await blockBlob.UploadFromStreamAsync(stream);