In meiner Datenbank habe ich ein Feld, dessen Datentyp BLOB ist. Ich verwende dieses Feld, um HTML-formatierten Text zu speichern (d. H. Texte, die in HTML-Tags usw. enthalten sind). Ich möchte diese Binärdaten abrufen und den Inhalt in einem WebBrowser-Steuerelement des C # -Fensterformulars rendern. Ich verwende den folgenden Code, aber er zeigt nur 'System.Byte []' im Webbrowser-Steuerelement an.
if(rdr9e.Read())
{
byte[] byt = (byte[])rdr9e["q_r_desc"];
MemoryStream ms = new MemoryStream();
ms.Write(byt, 0, byt.Length);
ms.Position = 0;
webBrowser1.DocumentStream = ms;
}
Hier ist 'q_r_desc' das Feld, das Binärdaten enthält. Meine Frage ist, wie ich Binärdaten mit der Webbrowser-Steuerung anzeigen kann. Jede Hilfe mit Code wäre sehr dankbar.
2 Antworten
Sie können das byte[]
in MemorySteam
konvertieren und es dann DocumentStream
Eigenschaft Ihres Webbrowser-Steuerelements:
//Suppose you have an byte[] array that you load from somewhere, for exmple:
var array = Encoding.Unicode.GetBytes(@"<html><head></head><body>Hi dude!</body></html>");
this.webBrowser1.DocumentStream = new MemoryStream(array);
Sie müssen Ihren Memorystream mit einem Streamreader lesen und die Ergebnisse in einen String / eine Ausgabe schreiben ...
Wie erhält man einen String aus einem MemoryStream?
Neue Fragen
c#
C # (ausgesprochen "siehe scharf") ist eine statische Typisierungsprogrammiersprache mit mehreren Paradigmen, die von Microsoft entwickelt wurde. C # -Code zielt normalerweise auf die .NET-Tools und -Laufzeiten von Microsoft ab, zu denen unter anderem .NET Framework, .NET Core und Xamarin gehören. Verwenden Sie dieses Tag für Fragen zu Code, der in der formalen Spezifikation von C # oder C # geschrieben ist.