CloudBlob.BeginDownloadToStream Method (Stream, AsyncCallback, Object)

Storage Client Library NET API

[This topic is part of the Microsoft Azure Storage Client Library 1.7, which has been deprecated. See Storage Client Library for the latest version.]

Begins an asynchronous operation to download the contents of a blob to a stream.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

Usage

Visual Basic
Dim instance As CloudBlob
Dim target As Stream
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginDownloadToStream(target, callback, state)

Syntax

Visual Basic
Public Function BeginDownloadToStream ( _
	target As Stream, _
	callback As AsyncCallback, _
	state As Object _
) As IAsyncResult
C#
public IAsyncResult BeginDownloadToStream (
	Stream target,
	AsyncCallback callback,
	Object state
)
C++
public:
IAsyncResult^ BeginDownloadToStream (
	Stream^ target, 
	AsyncCallback^ callback, 
	Object^ state
)
J#
JScript

Parameters

target

Type: System.IO.Stream

The target stream.

callback

Type: System.AsyncCallback

The callback delegate that will receive notification when the asynchronous operation completes.

state

Type: System.Object

A user-defined object that will be passed to the callback delegate.

Return Value

Type: System.IAsyncResult

An IAsyncResult that references the asynchronous operation.

Example

The following code example downloads a text blob to a file stream in order to append it to a text file.

C# Copy Code
static void DownloadBlobToStreamAsync(Uri blobEndpoint, string accountName, string accountKey)
{
    // Create service client for credentialed access to the Blob service.
    CloudBlobClient blobClient = 
        new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));

    // Get a reference to a blob.
    CloudBlob blob = blobClient.GetBlobReference("mycontainer/myblob.txt");
            
    // Download the blob to a file stream.
    FileStream stream = new FileStream("C:\\appendtofile.txt", FileMode.Append);
    blob.BeginDownloadToStream(stream, DownloadBlobToStreamCallback, new Object[]{blob, stream});
}

static void DownloadBlobToStreamCallback(IAsyncResult result)
{
    // Get array passed to callback.
    Object[] state = (Object[])result.AsyncState;

    CloudBlob blob = (CloudBlob)state[0];
    FileStream stream = (FileStream)state[1];

    // End the operation.
    blob.EndDownloadToStream(result);

    // Close the stream.
    stream.Close();
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Change History

See Also