Stefan  DöringBilder als base64 Darstellung in Webseiten einbinden


Eine Alternative bei der Darstellung von Bildern im Web bietet sich durch die Nutzung des direkten Einbindens des Bildinhaltes im base64-Format. Der Vorteil bei diesem Vorgehen besteht darin, dass sich relativ einfach dynamische Änderungen am Bild vornehmen lassen, ohne auf eine Quelldatei angewiesen sein zu müssen. Zugegebenermaßen gibt es auch noch andere Möglichkeiten Bilder darzsutellen (Handler, Verweis auf eine .aspx-Seite, die als Response ein Bildtyp liefert, etc.), aber der Weg über die base64-Kodierung war mir bisher neu. Erzeugt wird die Ausgabe dann innerhalb des "src" Attributes des "<img />" Elements, weshalb die Ausgabe in die Eigenschaft der "ImageUrl" geschrieben werden muss. Angemerkt sei hier aber, dass dieser Weg wohl sehr abhängig von dem verwendeten Browser ist. So funktionierte es bei meinen Versuchen nicht mit dem IE 7, wohl aber mit dem Firefox 3.01, was natürlich den Produktiveinsatz durchaus gefährdet. Schlussendlich nun  der Code, um das ganze in die Realität umzusetzen:

protected void Page_Load(object sender, EventArgs e)
{
    String base64String = String.Empty;
 
    //Anfangsteil des Bilds zusammensetzen
    base64String = "data:image/gif;base64,";
 
    //Dateiinhalt anfügen
    base64String += Convert.ToBase64String(
                    File.ReadAllBytes(Server.MapPath("~/Bild.gif")));
 
    //Im das "src" Tag des Bildes setzen (Asp.Net Image Steuerelement)
    imgBase64.ImageUrl = base64String;
}


Kategorien: .Net;ASP.NET;C#;HTML;Web; 13.08.2008 09:53:20


 


Neuen Kommentar einfügen:

  Titel:   
  Name:
  E-Mail:
  Kommentar:

 
 


Kommentare




© Copyright 2008 ppedv AG