65.9K
CodeProject 正在变化。 阅读更多。
Home

在 GridView 中显示数据库中的图像

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.17/5 (50投票s)

2007年10月7日

CPOL

1分钟阅读

viewsIcon

409616

downloadIcon

1

一个简单的入门指南,解释了一种在 ASP.NET 网页中的 GridView 中显示从数据库中获取的图片的方法。

引言

这是一个简单的 Web 应用程序,适用于 ASP.NET 新手。它将展示如何从数据库中检索图像并在 GridView 中显示它。

Screenshot - Output

背景

有时我们需要将图像上传到 Web 应用程序并将其存储在数据库中,数据库以二进制格式存储图像。由于这可能会导致图像质量下降,我们可以选择将图像路径存储在数据库中,然后从数据库中检索该图像路径,并在网页中从该位置显示图像。

为了做到这一点,首先我们需要使用 ADO.NET 连接到数据库。我在这里使用的数据库是 SQL Server。

Screenshot - Database

在所示的数据库中,Profile_Picture 字段包含图像路径。在我的例子中,我将所有图像都存储在应用程序目录中。您可以将其更改为任何其他目录,例如 ~\myfolder\myimage.jpg

现在我们的应用程序从其当前目录读取图像,因此如果您使用与当前目录不同的文件夹,则需要通过调用 System.IO 命名空间的 Directory.SetCurrentDirectory 来设置应用程序的当前目录。

我们还需要在 GridView 中设置一些属性。

Screenshot - GridView properties

执行以下操作

  1. 取消选中“自动生成字段”
  2. 为用户名和国家/地区使用两个“绑定字段”
  3. 设置“标题文本”和“数据字段”(数据库中的字段名称)
  4. 为图像使用“图像字段”,并设置 DataImageUrlField = ImageFieldName
  5. 单击“确定”

使用代码

上述说明所需的代码非常简单。

public partial class _Default : System.Web.UI.Page 
{
    SqlConnection conn = new SqlConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
        conn.ConnectionString 
            = "Data Source=MyServer; Integrated Security=True; database=test";
        Load_GridData(); // call method below
    }

    void Load_GridData()
    {
        conn.Open();  // open the connection 
        SqlDataAdapter Sqa = new SqlDataAdapter("select * from picture", conn);
        DataSet ds = new DataSet();
        Sqa.Fill(ds);   // fill the dataset 
        GridView1.DataSource = ds; // give data to GridView
        GridView1.DataBind();
        conn.Close();
    }
}

关注点

在您的 Web 应用程序中使用图像始终很有趣,而且它们都来自数据库!

历史

首次发布 2007年10月7日
编辑过 2010年12月10日
© . All rights reserved.