Wie Sie eine " System.Zeichnung.Bild' zu einem 'System.Web.UI.WebControls.Bild"
Habe ich zwei Funktionen:
Funktion 1: ImageToByteArray: Wird verwendet, um ein Bild zu Konvertieren in ein Byte-Array und Speichern Sie in einer Oracle-Datenbank in einem BLOB-Feld.
public byte[] ImageToByteArray(string sPath)
{
byte[] data = null;
FileInfo fInfo = new FileInfo(sPath);
long numBytes = fInfo.Length;
FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
data = br.ReadBytes((int)numBytes);
return data;
}
Funktion 2: ByteArrayToImage: Wird verwendet zum Konvertieren eines Byte-Array aus der Datenbank in ein Bild:
public System.Drawing.Image ByteArrayToImage(byte[] byteArray)
{
MemoryStream img = new MemoryStream(byteArray);
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(img);
return returnImage;
}
In meinem Markup habe ich ein Bild-Steuerelement:
<asp:Image ID="Image1" runat="server" />
In der Code-Behind-will ich Weisen Sie den Rückgabewert aus der Funktion 2 (das ist der Typ System.Zeichnung.Bild) "image1" - Steuerung des Typs (System.Web.UI.WebControls.Bild).
Offensichtlich kann ich nicht genau zuordnen:
image1 = ByteArrayToImage(byteArray);
da würd ich bekomme die folgende Fehlermeldung: kann Nicht implizit konvertiert Typ 'System.Zeichnung.Bild' zu 'System.Web.UI.WebControls.Bild'
Gibt es trotzdem, dies zu tun?
InformationsquelleAutor Eric Bergman | 2012-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht. WebControls.Bild ist nur ein HTML-container für eine Bild-url - Sie können nicht speichern Sie die Bilddaten direkt in es, Sie einfach speichern Sie den Verweis (url) zu einem Bild-Datei.
Wenn Sie brauchen, um abrufen von Bilddaten dynamisch, ist die übliche Vorgehensweise ist die Erstellung einer Bild-handler, der die Bearbeitung einer Anfrage und senden Sie das Bild als stream, den der browser anzeigen kann.
Sehen diese Frage
InformationsquelleAutor Jason
Sieht es aus wie Sie wollen einfach nur eine einfache Methode um ein Bild zu konvertieren byte-array in ein Bild. Kein problem. Ich fand eine Artikel das hat mir sehr geholfen.
PictureFileContents ist ein Byte[] und das ist, was die Funktion getImage, bereit ist, die als ein Objekt.
InformationsquelleAutor jade290
Ich denke, es ist möglich und ich hoffe, dass es hilfreich sein. Meine Lösung für das hier ist:
InformationsquelleAutor Alireza Balangi