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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top