2012-07-18 162 views
7

我有一個System.Drawing.Image類型的對象,並希望在視圖中顯示此圖像。什麼是最好的方法來做到這一點?在ASP.NET MVC 3中呈現System.Drawing.Image的最佳方式查看

我發現了一些可能適合這種情況的自定義Html Helper方法。還發現了一個使用新的動作方法的例子,該方法返回一個FileContentResult以便將這種情況關閉。我想知道什麼技術最好,最容易實現。

EDIT

更具體地,我在我想在視圖中顯示的控制器A爲System.Drawing.Image可變的圖像。

回答

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"); 
    }  
} 

現在,你可以把它在一個視圖這樣

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

我的圖像中,我想在視圖中顯示控制器System.Drawing.Image對象變量。我想避免必須保存到實際的圖像文件,以便在可能的情況下顯示圖像。 – d456 2012-07-18 18:57:32

+0

然後你可以簡單地前兩行。名爲src的變量的類型爲Drawing.Image。所以在我的答案 – Shyju 2012-07-18 18:58:53

+2

謝謝你使用你的變量名稱(其中有圖像),而不是srcImage。那就是我當時正在尋找的東西。 – d456 2012-07-18 20:16:01

相關問題