【问题标题】:display multiple images from database to asp.net page将多个图像从数据库显示到 asp.net 页面
【发布时间】:2011-03-29 11:33:52
【问题描述】:

我正在创建一个页面,该页面将显示数据库中的多个图像... 如果我只显示一个图像,我可以通过使用要呈现为图像的页面来做到这一点。 像这样...

using (SqlDataReader reader = comm.ExecuteReader())
{
    Byte[] images = new Byte[]();
    while (reader.Read())
    {
         Response.BinaryWrite(images);
    }
}

在我的 aspx 文件中:

<asp:Image ID="imgPhoto" runat="server" ImageUrl="~/ShowImages/LoadImages.aspx" Height="100px" Width="100px" BorderWidth="1px" />

我想要实现的是从数据库中显示多个图像,而不需要将页面呈现为图像...

有什么办法可以解决这个问题...?

谢谢大家

【问题讨论】:

    标签: c# asp.net sql-server


    【解决方案1】:

    我认为最好的方法是不使用数据库并将图像存储在磁盘上 - 通过将图像以二进制形式存储在 db 列中,这样你就限制了自己。

    如果您真的打算以这种方式存储图像,那么我只能建议从数据库中加载您想要的所有图像,并将它们写入磁盘上的临时文件夹,然后显示&lt;img /&gt; 标签列表参考他们在服务器上的临时位置。

    然后,您所做的就是每次请求图像时,您都会从先前的请求中删除图像。

    【讨论】:

    • 看看 System.IO 中的 .NET File 类,它可以轻松创建/删除文件,还可以查看同一命名空间中的 Directory 类,它为文件夹提供了类似的功能。如果你用谷歌搜索“字节数组到文件”,你会发现很多关于如何做到这一点的信息。
    【解决方案2】:

    您需要创建一个按 ID 提供单个图像的页面,然后添加多个 &lt;img&gt; 标记,以在查询字符串中使用不同的 ID 引用该页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 2017-08-03
      • 2013-07-23
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多