XmlReader.ReadContentAsBase64 Method (Byte[], Int32, Int32)

 

Reads the content and returns the Base64 decoded binary bytes.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public virtual int ReadContentAsBase64(
	byte[] buffer,
	int index,
	int count
)

Parameters

buffer
Type: System.Byte[]

The buffer into which to copy the resulting text. This value cannot be null.

index
Type: System.Int32

The offset into the buffer where to start copying the result.

count
Type: System.Int32

The maximum number of bytes to copy into the buffer. The actual number of bytes copied is returned from this method.

Return Value

Type: System.Int32

The number of bytes written to the buffer.

Exception Condition
ArgumentNullException

The buffer value is null.

InvalidOperationException

ReadContentAsBase64 is not supported on the current node.

ArgumentOutOfRangeException

The index into the buffer or index + count is larger than the allocated buffer size.

NotSupportedException

The XmlReader implementation does not support this method.

InvalidOperationException

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message “An asynchronous operation is already in progress.”

This method streams the content, decodes the Base64 content, and returns the decoded binary bytes (for example, an inline Base64 encoded GIF image) into the buffer. This method can be called successively to read large streams of embedded text. For more information, see RFC 1521, "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies". You can obtain RFCs from the Request for Comments Web site.

System_CAPS_noteNote

You should not access any of the reader properties between calls to the ReadContentAsBase64 method until the method returns the value 0.

This method has the following behavior:

  • ReadContentAsBase64 returns the value 0 when it has reached the end of the byte stream it was operating on. The reader is positioned on the first non-content node.

  • If you ask for fewer, or the exact number of, bytes than are left in the stream the reader remains in its current position.

  • ReadContentAsBase64 is not supported on the following XML node types: Element, XmlDeclaration, None, Document, DocumentType, Notation, Entity, DocumentFragment.

For the asynchronous version of this method, see ReadContentAsBase64Async.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: