Solution 1: pour rendre une image dans une vue à partir d'une URL d'image
Vous pouvez créer votre propre méthode d'extension:
public static MvcHtmlString Image(this HtmlHelper helper,string imageUrl)
{
string tag = "<img src='{0}'/>";
tag = string.Format(tag,imageUrl);
return MvcHtmlString.Create(tag);
}
Ensuite, utilisez-le comme:
@Html.Image(@Model.ImagePath);
Solution 2: pour rendre l'image à partir de la base de données
Créer une méthode de contrôleur qui renvoie les données d'image comme ci-dessous
public sealed class ImageController : Controller
{
public ActionResult View(string id)
{
var image = _images.LoadImage(id); //Pull image from the database.
if (image == null)
return HttpNotFound();
return File(image.Data, image.Mime);
}
}
Et utilisez-le dans une vue comme:
@ { Html.RenderAction("View","Image",new {id=@Model.ImageId})}
Pour utiliser une image rendue à partir de ce résultat d'action dans n'importe quel code HTML, utilisez
<img src="http://something.com/image/view?id={imageid}>