asp.net-mvc如何从数据库检索 VarBinary Image 到 MVC 视图

发布时间: 2016/10/9 5:19:05
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我将我的照片存入数据库,它们的类型是 varbinary (max),如下所示︰enter image description here

这里是我自动生成模型文件,Resim.cs

namespace ResimCek.Models
{
    using System;
    using System.Collections.Generic;

    public partial class Resim
    {
        public Resim()
        {
            this.KelimeTuru = new HashSet<KelimeTuru>();
        }

        public int Id { get; set; }
        public int KelimeId { get; set; }
        public int SozlukTuruId { get; set; }
        public byte[] Adi { get; set; }
        public string Aciklama { get; set; }

        public virtual ICollection<KelimeTuru> KelimeTuru { get; set; }
    }
}

这里是我的控制器代码,我在哪里买NullReference 例外,当我键入"xxxxxxxx/图像/显示/2"(但我有一个记录 id = 2):

public ActionResult Show(int id)
{
    SozlukEntities db = new SozlukEntities();
    KelimeTuru kelime = db.KelimeTuru.Find(id);
    var imagedata = kelime.Resim.Adi;//Gets NullReference exception

    return File(imagedata, "image/jpg");
}

最后在这里是我视图的代码︰

<img src='<%= Url.Action( "show", "image", new { id = ViewData["Id"] } ) %>'>

你能帮我在视图中显示我的照片吗?

解决方法 1:

试试这个︰

      public FileContentResult Show(int id)
          {
           SozlukEntities db = new SozlukEntities();
           KelimeTuru kelime = db.KelimeTuru.Find(id);
           var imagedata = kelime.Resim.Adi;

            return File(imagedata, "image/jpg");
       }

<img src='<%= Url.Action( "show", "image", new { id = Model.Id } ) %>'> //Or be sure that you passed the id
官方微信
官方QQ群
31647020