2010-06-23 23 views
18

Ich habe eine PNG/JPG-Datei in meiner MVC-Web-App gesucht und hochgeladen. Ich habe diese Datei als Byte [] in meiner Datenbank gespeichert. Nun möchte ich das Byte [] in die Originaldatei lesen und konvertieren. Wie kann ich das erreichen?Wie konvertiert man Byte-Array in Bilddatei?

Antwort

28
  1. Erstellen Sie eine MemoryStream übergeben das Array im Konstruktor.
  2. Lesen Sie das Bild aus dem Stream mit Image.FromStream.
  3. Anruf theImg.Save("theimage.jpg", ImageFormat.Jpeg).

bleiben System.Drawing.Imaging und verwenden ein Verwendung Block für den Stream referenzieren.

+0

Wie kann ich es in einer .png/.jpg Datei speichern? –

+1

img.Save ("Dateiname"). Das Standard-Speicherformat ist PNG. –

+1

Der Image-Roundtrip macht keinen Sinn, wenn das Byte-Array bereits ein gültiges Image enthält. Einfach '' File.WriteAllBytes() 'oder was auch immer, um den Inhalt des Bytearrays direkt in eine Datei zu schreiben. – CodeCaster

17

Erstellen Sie einen Speicherstream aus dem Array byte [] in Ihrer Datenbank und verwenden Sie dann Image.FromStream.

byte[] image = GetImageFromDatabase(); 
MemoryStream ms = new MemoryStream(image); 
Image i = Image.FromStream(ms); 
Verwandte Themen