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


Reads the content and returns the Base64 decoded binary bytes.

 virtual int ReadContentAsBase64(cli::array <System::Byte> ^ buffer, int index, int count);
public virtual int ReadContentAsBase64 (byte[] buffer, int index, int count);
abstract member ReadContentAsBase64 : byte[] * int * int -> int
override this.ReadContentAsBase64 : byte[] * int * int -> int
Public Overridable Function ReadContentAsBase64 (buffer As Byte(), index As Integer, count As Integer) As Integer



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


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


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



The number of bytes written to the buffer.


The buffer value is null.

ReadContentAsBase64(Byte[], Int32, Int32) is not supported on the current node.


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."

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

The XmlReader implementation does not support this method.


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.


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.

Applies to

See also