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






3.17/5 (50投票s)
一个简单的入门指南,解释了一种在 ASP.NET 网页中的 GridView 中显示从数据库中获取的图片的方法。
引言
这是一个简单的 Web 应用程序,适用于 ASP.NET 新手。它将展示如何从数据库中检索图像并在 GridView
中显示它。
背景
有时我们需要将图像上传到 Web 应用程序并将其存储在数据库中,数据库以二进制格式存储图像。由于这可能会导致图像质量下降,我们可以选择将图像路径存储在数据库中,然后从数据库中检索该图像路径,并在网页中从该位置显示图像。
为了做到这一点,首先我们需要使用 ADO.NET 连接到数据库。我在这里使用的数据库是 SQL Server。
在所示的数据库中,Profile_Picture 字段包含图像路径。在我的例子中,我将所有图像都存储在应用程序目录中。您可以将其更改为任何其他目录,例如 ~\myfolder\myimage.jpg。
现在我们的应用程序从其当前目录读取图像,因此如果您使用与当前目录不同的文件夹,则需要通过调用 System.IO
命名空间的 Directory.SetCurrentDirectory
来设置应用程序的当前目录。
我们还需要在 GridView
中设置一些属性。
执行以下操作
- 取消选中“自动生成字段”
- 为用户名和国家/地区使用两个“绑定字段”
- 设置“标题文本”和“数据字段”(数据库中的字段名称)
- 为图像使用“图像字段”,并设置
DataImageUrlField = ImageFieldName
- 单击“确定”
使用代码
上述说明所需的代码非常简单。
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日 |