我正在向ASP.NET MVC中的視圖發送位圖。我有一個屬性在我的視圖模型:如何從類型System.Drawing.Bitmap提供圖像(<img>標記?)
public Bitmap TemplateImage { get; set; }
在我看來,我希望能夠渲染圖圖像,但我無法弄清楚如何做到這一點。
我正在向ASP.NET MVC中的視圖發送位圖。我有一個屬性在我的視圖模型:如何從類型System.Drawing.Bitmap提供圖像(<img>標記?)
public Bitmap TemplateImage { get; set; }
在我看來,我希望能夠渲染圖圖像,但我無法弄清楚如何做到這一點。
一個解決方案是創建一個新的動作,這樣的:
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);
}
和用於將圖像發送的ID來代替,而引用它是這樣的:
<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID }) %>
由於HTTP是不這意味着能夠將HTML和二進制圖像數據填充到同一個連接的同一管道中,這使得將Bitmap數據傳遞給View是毫無意義的。您必須通過存儲(可能是暫時的)位圖數據並讓客戶端通過唯一的URL請求來找到另一種方法。
我發現這3年後,你發佈它。完善!!! – MattSlay 2013-09-06 05:31:37