Byte[] タイプのプロパティを含むモデルがあります。このプロパティを MVC ビューの html タグで表示したいのですが、この画像を表示するにはどのような方法を使用できますか?
6212 次
2 に答える
9
これは私のプロジェクトで行う必要があることです: オブジェクト コレクションの各インスタンスについて、Razor View のタグの下に配置します。
<img src="@Url.Action("GetPhoto", new { photoId = Model.PhotoId })" />
そして、コントローラーにアクションを追加しました:
public ActionResult GetPhoto(int photoId)
{
byte[] photo = GetPhotoFromDb(photoId);
return File(photo, "image/jpeg"); }
于 2012-07-14T07:41:05.730 に答える
7
コントローラーでアクションを作成して、ファイル レスポンスを返します。
public class MyController : Controller
{
public ActionResult ViewFile()
{
byte[] bytes;
string mime;
return File(bytes, mime);
}
}
次に、次のように画像を表示できます。
<img src="/mycontroller/viewfile" />
編集:詳細な例:
public class Photo
{
public int ID {get;set;}
public string Title {get;set;}
}
public class PhotoController : Controller
{
public ActionResult Index()
{
return View(new List<Photo> { new Photo { ID = 1, Title = "first" }, new Photo { ID = 2, Title = "second" }});
}
public ActionResult Photo(int ID)
{
return File(GetPhotoBytes(ID), "image/jpg");
}
}
意見:
@model IEnumerable<Photo>
@foreach (var photo in Model)
{
<img src="@Url.Action("photo", "photo", new { ID = photo.ID })" title="@photo.Title" />
}
于 2012-07-13T17:01:14.250 に答える