In the third part of the Microsoft Azure Storage series we have extended our .NET application to list the contents of a container. Today we will add a method to our application to download files from the storage container.
Download blobs from the Microsoft Azure storage
Create the DownloadFile method in the Azure Helper
- Open the Azure_Helper.cs file in the Azure_Helper project
- Add a new method to the class
/// <summary>
/// Downloads a blob from the storage container and saves it in the file system
/// </summary>
/// <param name="sContainerPath"></param>
/// <param name="sBlobName"></param>
/// <param name="sTargetFilePath"></param>
public void DownloadFile(string sContainerPath, string sBlobName, string sTargetFilePath) {
// Create the blob client.
CloudBlobClient blobClient = _storageAccount.CreateCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference(sContainerPath);
// Retrieve reference to a blob
CloudBlockBlob blockBlob = container.GetBlockBlobReference(sBlobName);
// Save blob contents to a file.
using (var fileStream = System.IO.File.OpenWrite(sTargetFilePath)) {
blockBlob.DownloadToStream(fileStream);
}
}
This method will download the file from the Microsoft Azure storage and save it on a disk.
Add code to the console application to call the DownloadFile method
- Open the Program.cs file in the Azure_ConsoleApplication
- Add the following lines to the end of the Main method
string sTargetFilePath = @"D:\MediaFiles\Audio\DownloadedMusic.wav"; // Download the file from the Azure storage and save it azureHelper.DownloadFile(sContainerPath, sBlobName, sTargetFilePath);
Test your application
Run your application. A new file should appear in the specified target folder.
In the next article of the Azure storage series we will learn how to delete a blob from the storage container.
Leave a comment