2011-02-22 21 views
11

Tengo una imagen Base64 en un HTML incrustado, ¿cómo puedo decodificar esto usando C# o VB.net.Decodificación Base64 Imagen

+0

http://stackoverflow.com/questions/1915898/base64-decode-in-c-or-java –

Respuesta

25

google.com> base64 imagen de decodificación C#>http://www.eggheadcafe.com/community/aspnet/2/39033/convert-base64-string-to-image.aspx

Byte[] bitmapData = Convert.FromBase64String(FixBase64ForImage(ImageText)); 
System.IO.MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData); 
Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap)); 

public string FixBase64ForImage(string Image) { 
    System.Text.StringBuilder sbText = new System.Text.StringBuilder(Image,Image.Length); 
    sbText.Replace("\r\n", String.Empty); sbText.Replace(" ", String.Empty); 
    return sbText.ToString(); 
} 
+6

Buena respuesta, pero se pierde una función importante de ese enlace: 'cadena pública FixBase64ForImage (cadena de imagen) {System.Text.StringBuilder sbText = new System.Text.StringBuilder (Image, Image.Length); sbText.Replace ("\ r \ n", String.Empty); sbText.Replace ("", String.Empty); devuelve sbText.ToString(); } ' – JcFx

+1

' Byte [] bitmapData = new Byte [ImageText.Length]; '- ¿por qué está asignando una matriz si la reemplaza por otra en el próximo comando? – Spook

9

Usa Convert.FromBase64String para obtener un byte[] representando la imagen binaria.

A continuación, puede guardar el resultado byte[] en un archivo.

1

Raspe la imagen incrustada en una cadena. Usar WebClient es probablemente la mejor opción. Convierta la cadena base64 a una matriz de bytes usando Convert.FromBase64String(). Use un MemoryStream y Image.FromStream() para reconstituir un objeto de imagen.

Cuestiones relacionadas