XmlWriter.WriteBase64(Byte[], Int32, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
En cas de substitution dans une classe dérivée, code les octets binaires spécifiés au format Base64 et écrit le texte obtenu.
public:
abstract void WriteBase64(cli::array <System::Byte> ^ buffer, int index, int count);
public abstract void WriteBase64 (byte[] buffer, int index, int count);
abstract member WriteBase64 : byte[] * int * int -> unit
Public MustOverride Sub WriteBase64 (buffer As Byte(), index As Integer, count As Integer)
Paramètres
- buffer
- Byte[]
Tableau d'octets à encoder.
- index
- Int32
Emplacement dans la mémoire tampon indiquant le début des octets à écrire.
- count
- Int32
Nombre d'octets à écrire.
Exceptions
buffer
a la valeur null
.
index
ou count
est inférieur à zéro.
- ou -
La longueur de la mémoire tampon moins index
est inférieure à count
.
Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».
Exemples
L’exemple suivant utilise la WriteBase64 méthode pour écrire Base64
des données. Les Base64
données sont incorporées dans un <image>
élément.
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();
}
}
Public Shared Sub Base64EncodeImageFile()
Dim bufferSize As Integer = 1000
Dim buffer(bufferSize) As Byte
Dim readBytes As Integer = 0
Using writer As XmlWriter = XmlWriter.Create("output.xml")
Dim inputFile As New FileStream("C:\artFiles\sunset.jpg", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
writer.WriteStartDocument()
writer.WriteStartElement("image")
Dim br As New BinaryReader(inputFile)
Console.WriteLine(vbCr + vbLf + "Writing Base64 data...")
Do
readBytes = br.Read(buffer, 0, bufferSize)
writer.WriteBase64(buffer, 0, readBytes)
Loop While bufferSize <= readBytes
br.Close()
writer.WriteEndElement() ' </image>
writer.WriteEndDocument()
End Using
End Sub
Remarques
Par exemple, la mémoire tampon d’octets peut contenir le contenu binaire d’une image GIF. Il ne s’agit clairement pas d’un code XML valide. L’encodage Base64
est conçu pour représenter des séquences d’octets arbitraires dans une forme de texte composée des 65 caractères US-ASCII ([A-Za-z0-9+/=]) où chaque caractère encode 6 bits des données binaires. Pour plus d’informations, consultez Demandes de commentaires (RFC) 1521 sur le site Web Des demandes de commentaires.
Pour obtenir la version asynchrone de cette méthode, consultez WriteBase64Async.