2012-07-18 14 views
7

Mam obiekt typu System.Drawing.Image i chciałbym wyświetlić ten obraz w widoku. Jaki byłby najlepszy sposób na zrobienie tego?Najlepszy sposób renderowania System.Drawing.Image w ASP.NET MVC 3 View

Znalazłem kilka niestandardowych metod pomocy Html Helper, które mogą pasować do sytuacji. Znaleziono również przykład, który używa nowej metody działania, która zwraca wartość FileContentResult, aby wyłączyć coś podobnego. Chciałbym wiedzieć, która technika jest najlepsza i najłatwiejsza do wdrożenia.

EDIT

Aby być bardziej konkretne, mam obraz w zmiennej System.Drawing.Image w sterowniku, że chcę, aby wyświetlić w widoku.

Odpowiedz

11
public ActionResult GetImg() 
{ 
    string imageFile = System.Web.HttpContext.Current. 
           Server.MapPath("~/Content/tempimg/unicorn.jpg"); 
    var srcImage = Image.FromFile(imageFile); 
    using (var streak = new MemoryStream()) 
    { 
     srcImage.Save(streak, ImageFormat.Png); 
     return File(streak.ToArray(), "image/png"); 
    }  
} 

Teraz można nazwać to w widoku jak ten

<img src="@Url.Action("GetImg","YourControllerName")" alt="alt text"/> 
+0

mam obraz w zmiennej System.Drawing.Image w sterowniku, że chcę, aby wyświetlić w widoku. Chciałbym uniknąć konieczności zapisywania do rzeczywistego pliku obrazu, aby wyświetlić obraz, jeśli to możliwe. – d456

+0

możesz po prostu pierwsze 2 linie następnie. Zmienna o nazwie src jest typu Drawing.Image. Więc użyj nazwy zmiennej (która ma obraz) zamiast srcImage w mojej odpowiedzi – Shyju

+2

Dzięki. Właśnie tego szukałem. – d456

Powiązane problemy