【问题标题】:Displaying images from database in an ASP.NET MVC View在 ASP.NET MVC 视图中显示数据库中的图像
【发布时间】:2013-09-21 06:47:32
【问题描述】:

我是 Asp.NET MVC 开发的新手,我想制作一个应用程序,在同一个视图中显示来自数据库的多个图像。我将图像存储为 LONGBLOB,然后转换为 base 64 字符串。

我正在尝试像这样显示它们:

<img src=<%:Html.Value("photo")%> />

但是,我认为 URL 不支持太大的字符串作为参数。

我的问题是:从数据库中显示图像的最佳方式是什么?我需要将它们存储在图像服务器中吗?创建地图路由以保存每个 URL 中的图像?

我希望它很清楚。

【问题讨论】:

标签: c# asp.net sql asp.net-mvc asp.net-mvc-4


【解决方案1】:

你可以试试这样的:

  • 创建一个返回FileContentResult的控制器操作
  • 将数据库中的数据拉入 Stream 或 Byte 数组中
  • 在动作中,使用Controller.File Method Overloads 之一,传入您的图像内容和mime 类型,然后从动作中返回。
  • 将您的 img src 属性设置为控制器操作的 URL,传递识别您想要从数据库返回的图像所需的任何参数。

【讨论】:

    【解决方案2】:
    public ActionResult MYsample()
    {
        var MyList = storeDB.GenreList();
        var a= MyList.Count;
    
        if (a != null)
        {
            foreach (var li in MyList)
            {
                return File(li.fileContent, li.mimeType,li.fileName);
            }
        }
        return View(MyList);
    }
    

    查看

    @foreach (var item in Model)
    {
            <img src="@Url.Action("MYsample", "HomeController", new { id = item.ProductID })" alt="@item.Productname" />
    }
    

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多