如何用ASP.NET MVC在Details页面模板中展示数据库中存储的byte[]数组形式的图片?

2026-03-30 12:051阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计291个文字,预计阅读时间需要2分钟。

如何用ASP.NET MVC在Details页面模板中展示数据库中存储的byte[]数组形式的图片?

在Details页面模板中,当尝试使用以下内容显示byte[]数组图像时:

javapublic FileContentResult RenderPhoto(byte[] photo) { // var array=(byte[])Session[photo]; // return File(array, image/jpeg); return File(photo, image/jpeg);}

当我尝试使用以下内容在Details页面模板中显示byte []数组图像时:

public FileContentResult RenderPhoto(byte[] photo) { // var array = (byte[])Session["photo"]; // return File(array, "image/jpeg"); return File(photo, "image/jpeg"); } <img src="@Url.Action("RenderPhoto", Model.Photo)"/>

照片为空.

如果我在会话中存储student.Photo:

如何用ASP.NET MVC在Details页面模板中展示数据库中存储的byte[]数组形式的图片?

// // GET: /Student/Details/5 public ViewResult Details(int id) { Student student = db.Students.Find(id); Session["photo"] = student.Photo; return View(student); }

并尝试显示从Session(上面的注释行)中检索值的图像.

为什么我在第一种情况下获得空值?

将学生传递给ViewResult详细信息(int id)中的View后,Model.Photo不再保留该值?

Why I’m getting a null value in the first case?

您不能在< img>中将字节数组传递给服务器.标签. < img> tag只是向指定的资源发送GET请求.正确的方法是使用id:

<img src="@Url.Action("RenderPhoto", new { photoId = Model.PhotoId })" />

然后:

public ActionResult RenderPhoto(int photoId) { byte[] photo = FetchPhotoFromDb(photoId); return File(photo, "image/jpeg"); }

本文共计291个文字,预计阅读时间需要2分钟。

如何用ASP.NET MVC在Details页面模板中展示数据库中存储的byte[]数组形式的图片?

在Details页面模板中,当尝试使用以下内容显示byte[]数组图像时:

javapublic FileContentResult RenderPhoto(byte[] photo) { // var array=(byte[])Session[photo]; // return File(array, image/jpeg); return File(photo, image/jpeg);}

当我尝试使用以下内容在Details页面模板中显示byte []数组图像时:

public FileContentResult RenderPhoto(byte[] photo) { // var array = (byte[])Session["photo"]; // return File(array, "image/jpeg"); return File(photo, "image/jpeg"); } <img src="@Url.Action("RenderPhoto", Model.Photo)"/>

照片为空.

如果我在会话中存储student.Photo:

如何用ASP.NET MVC在Details页面模板中展示数据库中存储的byte[]数组形式的图片?

// // GET: /Student/Details/5 public ViewResult Details(int id) { Student student = db.Students.Find(id); Session["photo"] = student.Photo; return View(student); }

并尝试显示从Session(上面的注释行)中检索值的图像.

为什么我在第一种情况下获得空值?

将学生传递给ViewResult详细信息(int id)中的View后,Model.Photo不再保留该值?

Why I’m getting a null value in the first case?

您不能在< img>中将字节数组传递给服务器.标签. < img> tag只是向指定的资源发送GET请求.正确的方法是使用id:

<img src="@Url.Action("RenderPhoto", new { photoId = Model.PhotoId })" />

然后:

public ActionResult RenderPhoto(int photoId) { byte[] photo = FetchPhotoFromDb(photoId); return File(photo, "image/jpeg"); }