ASP.NET使用Gridview绑定数据库中的图片

注:此系列记录在我实际开发中遇到的问题和收藏一些技巧文章。

我们都知道,在Gridview中不能直接去绑定数据库中的图片,我们可以利用HttpHandler很容易的完成这个任务,在这里我记录一下这个过程。

1.上传图片存储到数据库中

在数据库中创建一个表,添加一下3个字段:

步骤一:在Web页面中拖一个FileUpload 控件,一个文本框用于输入名称和提交上传按钮

<asp:FileUpload ID="fuImage" runat="server" /><br />
<asp:TextBox ID="txtImageName" runat="server"/><br />
<asp:Button ID="btnUpload" runat="server"
OnClick="btnUpload_Click" Text="Upload" />

步骤二:在Web.Config文件内配置连接字符串。

<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\Image.mdf;Integrated Security=True;
User Instance=True" providerName="System.Data.SqlClient"/>

步骤三:把下面的代码复制到上传按钮事件中。

protected void btnUpload_Click(object sender, EventArgs e)
{
   Stream imgStream = fuImage.PostedFile.InputStream;
   int imgLen = fuImage.PostedFile.ContentLength;
   string imgName = txtImageName.Text;
   byte[] imgBinaryData = new byte[imgLen];
   int n = imgStream.Read(imgBinaryData,0,imgLen);
   //use the web.config to store the connection string
   SqlConnection connection = new SqlConnection(ConfigurationManager.
   ConnectionStrings["connectionString"].ConnectionString);
   SqlCommand command = new SqlCommand(
   "INSERT INTO Image (imagename,image)
   VALUES ( @img_name, @img_data)", connection);
   SqlParameter param0 = new SqlParameter(
   "@img_name",SqlDbType.VarChar, 50);
   param0.Value = imgName;
   command.Parameters.Add(param0);
   SqlParameter param1 = new SqlParameter(
   "@img_data", SqlDbType.Image);
   param1.Value = imgBinaryData;
   command.Parameters.Add(param1);
   connection.Open();
   int numRowsAffected = command.ExecuteNonQuery();
   connection.Close();
}

时间: 2024-07-28 17:48:45

ASP.NET使用Gridview绑定数据库中的图片的相关文章

asp.net用gridview显示数据库中两个表的数据?

问题描述 asp.net用gridview显示数据库中两个表的数据? asp.net用gridview显示数据库中两个表的数据?把两表绑定在datatable并用gridview显示数据 解决方案 两个表什么关系?如果是一样的表结构,用union连接,如果是主系表关系,那么可以用join.具体按照我说的google下. 解决方案二: 不管是查询几个表,最后通过sql语句走ado.net,查询出来的数据都放入DataTable或DataSet中,然后绑定到gridview 解决方案三: 如果是一起

利用asp.net datalist绑定数据库中的图片,后台该怎么写

问题描述 利用asp.netdatalist显示数据库保存的图片,前台是这样写的:<asp:ImageID="Image1"runat="server"ImageUrl='<%#"~/picture/"+Eval("image")%>'/>,那后台该怎么写呢 解决方案 解决方案二:直接绑定在前台赋值即可解决方案三:后台:DataList1.DataSource=dt;DataList1.Databind

把存入数据库中的图片取出来,显示在GridView中是没有问题的,但是要用marquee来滚动显示从数据库中读出的图片怎么办?

问题描述 谢谢!如果不能回答上面的问题,给我一个menu邦定数据库的例子我给分的!VS2005 解决方案 解决方案二:<marquee><imgsrc="image.aspx?id=111"></marquee>在image.aspx里面显示图片的程序解决方案三:Response.Clear();Response.ContentType="image/jpeg";Response.BinaryWrite(b);显示图片的最简单的几

VB.net MSchart画图绑定数据库中两列数据。

问题描述 VB.net MSchart画图绑定数据库中两列数据. 请问用MSchart画图时,怎么绑定数据库中两列数据,我用的数据库是access,希望大家帮忙帮忙. 解决方案 无论你用什么数据库,总能取到一个 DataTable吧. chart1.DataBindCrossTable(dt.DefaultView, "分组字段名", "x坐标字段名", "y坐标字段名", "", PointSortOrder.Ascendi

asp.net实现Gradview绑定数据库数据并导出Excel的方法_实用技巧

本文实例讲述了asp.net实现Gradview绑定数据库数据并导出Excel的方法.分享给大家供大家参考,具体如下: protected void showData_Click(object sender, EventArgs e) { SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=test;User ID=sa;password=sa"); SqlDataA

在GridView中显示数据库中的图片问题

问题描述 怎么才能把数据库中的图片用GridView控件显示出来啊,其他非图片的字段都可以显示的,请问需要设置什么属性么? 解决方案 解决方案二:问题补充:显示出来的是图片名解决方案三:0,1楼啥意思?解决方案四:现在数据库中有一个表,表里有一列是存放图片的现在图片已传到数据库里了,我想用DetailsView控件把所有信息都读出来但图片那个字段显示出来的只是一个图片文件名,不能显示图片!解决方案五:你怎么读取数据的?请帖出代码.解决方案六:下面的是上传代码:HttpPostedFileUpfi

在C#中如何从数据库中读取图片,然后显示在网页的特定位置?

问题描述 在C#中如何从数据库中读取图片,然后显示在网页的特定位置?谢谢了! 解决方案 解决方案二:用google搜索asp.net数据库图片显示你会得到很多结果

vb.net 存取数据库中的图片 Montaque(原作)

vb.net 存取数据库中的图片    Montaque(原作)            以MS自带的数据库Northwnd为例,其中有个表是Categories,有四个四段,其中有一个是Image类型的Picture字段.我们首先添加一张bmp图片到最后一行的Picture中,然后在读出来显示到Image控件中.        添加一个SqlDataAdapter1,用向导设置联接数据库为Northwnd,SQL语句为SELECT [Category ID], [Category Name],

用VB6读写数据库中的图片

数据|数据库 很多兄弟在这里问关于VB6读写数据库中的图片的问题,在此有一例,希有所启发.   1,以人名和相关图片为例说明,数据库为Access,有如下字段:Name char,picture OLE object,FileLength Number.当为ms sql时,将picture改为lob即可.   2,示例包含control:commom dialog,picture,listbox.源码如下:Option Explicit Private Declare Function GetT