XmlWriter.WriteBase64 Method
When overridden in a derived class, encodes the specified binary bytes as Base64 and writes out the resulting text.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- buffer
- Type: System.Byte[]
Byte array to encode.
- index
- Type: System.Int32
The position in the buffer indicating the start of the bytes to write.
- count
- Type: System.Int32
The number of bytes to write.
| Exception | Condition |
|---|---|
| ArgumentNullException |
buffer is null. |
| ArgumentOutOfRangeException |
index or count is less than zero. -or- The buffer length minus index is less than count. |
For example, the byte buffer may contain the binary contents of a GIF image. This clearly would not be valid XML. The Base64 encoding is designed to represent arbitrary byte sequences in a text form comprised of the 65 US-ASCII characters ([A-Za-z0-9+/=]) where each character encodes 6 bits of the binary data. For more information, see Requests for Comments (RFC) 1521 located on the Request for Comments Web site at http://www.rfc-editor.org/.
The following example uses the WriteBase64 method to write Base64 data. The Base64 data is embedded within an <image> element.
public static void Base64EncodeImageFile() { int bufferSize = 1000; byte[] buffer = new byte[bufferSize]; int readBytes = 0; using (XmlWriter writer = XmlWriter.Create("output.xml")) { FileStream inputFile = new FileStream(@"C:\artFiles\sunset.jpg", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read); writer.WriteStartDocument(); writer.WriteStartElement("image"); BinaryReader br = new BinaryReader(inputFile); Console.WriteLine("\r\nWriting Base64 data..."); do { readBytes = br.Read(buffer, 0, bufferSize); writer.WriteBase64(buffer, 0, readBytes); } while (bufferSize <= readBytes); br.Close(); writer.WriteEndElement();// </image> writer.WriteEndDocument(); } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.