显示从数据库到asp.net页面的多个图像

时间:2011-03-29 11:33:53

标签: c# asp.net sql-server

我正在创建一个显示数据库中多个图像的页面... 我可以这样做,如果我只显示一个图像,使用一个页面呈现为图像.. 像这样......

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" />

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

有没有办法解决这个问题??

谢谢你们

2 个答案:

答案 0 :(得分:2)

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

如果您真的以这种方式设置存储图像,那么我只建议从数据库加载您想要的所有图像,并将它们写入磁盘上的临时文件夹,然后显示<img />列表标记引用它们在服务器上的临时位置。

您所做的就是每次请求图像时都删除上一个请求中的图像。

答案 1 :(得分:1)

您需要创建一个按ID提供单个图像的页面,然后添加多个<img>标记,这些标记在查询字符串中引用具有不同ID的页面。