Comment servir jusqu'à l'image à partir du type System.Drawing.Bitmap (balise ?)
-
29-09-2019 - |
Question
Je vous envoie une image bitmap à une vue dans ASP.NET MVC. J'ai un bien dans mon ViewModel:
public Bitmap TemplateImage { get; set; }
À mon avis, je veux être en mesure de rendre cette image bitmap, mais je ne peux pas comprendre comment le faire.
La solution
Une solution serait de créer une nouvelle action, comme ceci:
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);
}
et envoyer un ID pour l'image et au lieu de référence comme ceci:
<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID }) %>
Autres conseils
Étant donné que HTTP ne vise pas à être en mesure de choses à la fois HTML et des données d'image binaires sur la même canalisation dans la même connexion, ce qui rend les données passant Bitmap à votre vue inutile. Vous devez trouver un autre moyen de contourner en stockant (peut-être temporairement) les données Bitmap et ayant la demande du client via une URL unique.