Wie servieren Bilder vom Typ System.Drawing.Bitmap ( Tag?)
-
29-09-2019 - |
Frage
Ich bin ein Bitmap auf eine Ansicht in ASP.NET MVC zu schicken. Ich habe eine Eigenschaft in meinem Ansichtsmodell:
public Bitmap TemplateImage { get; set; }
In meiner Ansicht, ich möchte in der Lage sein, dieses Bitmap-Bild zu machen, aber ich kann nicht herausfinden, wie es zu tun.
Lösung
Eine Lösung wäre, eine neue Aktion zu erstellen, wie folgt aus:
public FileContentResult Show(int id)
{
var category = northwind.AllCategories().Single(c => c.CategoryID == id);
byte[] imageByte = category.Picture;
string contentType = "image/jpeg";
return File(imageByte, contentType);
}
und eine ID für das Bild senden statt und verweisen es wie folgt aus:
<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID }) %>
Andere Tipps
Da HTTP ist nicht in der Lage sein zu stopfen soll sowohl HTML-und Binär-Bilddaten in der gleichen Pipeline in der gleichen Verbindung, das macht Bitmap-Daten auf Ihre View sinnlos vorbei. Sie haben einen anderen Weg, um zu finden, indem (vielleicht vorübergehend) die Bitmap-Daten und mit der Client-Anforderung es über eine eindeutige URL zu speichern.