ASP.NET MVC のビューにビットマップを送信しています。ViewModel にプロパティがあります。
public Bitmap TemplateImage { get; set; }
私のビューでは、そのビットマップ画像をレンダリングできるようにしたいのですが、その方法がわかりません。
ASP.NET MVC のビューにビットマップを送信しています。ViewModel にプロパティがあります。
public Bitmap TemplateImage { get; set; }
私のビューでは、そのビットマップ画像をレンダリングできるようにしたいのですが、その方法がわかりません。
1 つの解決策は、次のような新しいアクションを作成することです。
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とバイナリイメージデータの両方を同じ接続の同じパイプラインに詰め込むことができるようには意図されていないため、これによりビットマップデータをビューに渡すことは無意味になります。ビットマップデータを(おそらく一時的に)保存し、クライアントに一意のURLを介して要求させることにより、別の方法を見つける必要があります。