I missed this in the previous blog entry. The SDK makes it really trivial to extract blob data. For text content you can directly get the text, and for non-text content you can either download to a file or to a stream. The code snippet below shows how it’s done.
void DownloadBlobData() { auto storage_account = cloud_storage_account::parse( U("UseDevelopmentStorage=true")); auto blob_client = storage_account.create_cloud_blob_client(); auto container = blob_client.get_container_reference( U("textdata")); bool created = container.create_if_not_exists(); // Read the text content directly auto text_blob1 = container.get_block_blob_reference( U("texts/text1")); auto text = text_blob1.download_text(); ucout << text << endl; // Download the blob data to a file auto text_blob2 = container.get_block_blob_reference( U("texts/text2")); text_blob2.download_to_file( U("d:\\tmp\\blobdata.txt")); // Download the blob data to an ostream stringstreambuf buffer; concurrency::streams::ostream output(buffer); text_blob2.download_to_stream(output); cout << buffer.collection() << endl; }