问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

gridview如何显示数据库图片呢?

发布网友 发布时间:2022-04-08 06:45

我来回答

3个回答

懂视网 时间:2022-04-08 11:06

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();
}

2.利用HttpHandler从数据库中读取图片

创建一个名为ImageHandler.ashx的HttpHandler从数据库中读取图片,通过imageID这个参数调用其方法显示图片。像这样:ImageHandler.ashx?ImID=200

步骤四:书写ImageHandler.ashx文件代码如下:

public class ImageHandler : IHttpHandler
{
 public void ProcessRequest(HttpContext context)
 {
 string imageid = context.Request.QueryString["ImID"];
 SqlConnection connection =
  new SqlConnection(ConfigurationManager.
  ConnectionStrings["connectionString"].ConnectionString);
 connection.Open();
 SqlCommand command = new SqlCommand(
  "select Image from Image where ImageID=" + imageid,
  connection);
 SqlDataReader dr = command.ExecuteReader();
 dr.Read();
 context.Response.BinaryWrite((Byte[])dr[0]);
 connection.Close();
 context.Response.End();
 }

 public bool IsReusable
 {
 get{return false;}
 }
}

3.绑定Gridview控件

步骤五:拖一个Gridview控件到页面上,并将其命名为gvImages。用下面代码来绑定数据。

SqlConnection connection = new SqlConnection(ConfigurationManager.
ConnectionStrings["connectionString"].ConnectionString);
SqlCommand command = new SqlCommand("SELECT imagename,ImageID
from [Image]", connection);
SqlDataAdapter ada = new SqlDataAdapter(command); 
DataTable dt = new DataTable();
ada.Fill(dt);
gvImages.DataSource = dt;
gvImages.DataBind();

步骤六:设置Gridview控件的绑定列,其HTML代码如下:

<asp:GridView Width="500px" ID="gvImages" runat="server" 
  AutoGenerateColumns="False" >
 <Columns>
 <asp:BoundField HeaderText = "Image Name" 
    DataField="imagename" />
 <asp:TemplateField HeaderText="Image"> 
  <ItemTemplate> 
  <asp:Image ID="Image1" runat="server" 
  ImageUrl=‘<%# "ImageHandler.ashx?ImID="+ Eval("ImageID")
   %>‘/> 
  </ItemTemplate>
 </asp:TemplateField>
 </Columns>
</asp:GridView>

4.上传图片,并显示

技术分享

版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。

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

标签:

热心网友 时间:2022-04-08 08:14

1:在第一个页面中的gridview中添加ImageField,并且将它转换为TemplateField;
2:新建一asp.net页面,在这个页面实现读取数据库显示二进制流的图片(当然要接收参数,不然gridview显示的图片都一样).
3:将第二步建立的页面作为参数传给1中的Image1的ImageUrl。就ok了。

热心网友 时间:2022-04-08 09:32

在gridview加一个模板列,在列里放一个img控件,绑定imgurl属性
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
统计学p值 华为mate30pro和mate30epro的区别在哪 华为mate30pro和mate30epro有什 ... ...现在要注销,账上有未分配利润,税局让交个税,否则不给 独立核算分公司注销时,账上有未分配利润,当地税局要交个人所得税,否则... 论文引言写作指导 引言写作要点 请问一下谢岗东莞银行2019年是否取消纸质同贷书,现在只有电子版的,而且... 身份证怎么隐藏中间的数字部分啊。 安阳县第二高级中学的校区环境 安阳县第二高级中学的学校简介 保密条款违约责任 篆刻字体转换好不好 员工违反保密协议,要承担哪些责任? 篆刻字体转换干吗的 员工违反保密协议,要承担哪些责任 求一款篆刻用的字典,就是能把字转换成篆字的小软件。谢谢! 篆刻字体转换需要什么 篆刻字体转换 徕卡相机Typ109和徕卡X1比较 篆刻字体转换哪里有 篆刻在线文字转换 力求专家解答: 徕卡 x1和徕卡 m9哪款好啊? 齐白石篆刻字体转换器 看重徕卡x1 数码相机,那么徕卡新出的 x1 黑色版 的那台怎么样呢?帮忙讲解一下! 纹身的墨水弄到衣服上怎么去掉 汉印篆刻字体转换器 徕卡X1和M6哪个好你?都是单反么?可不可以摄像? 怎么才能洗掉衣服上的墨水 篆刻印章字体转换器 徕卡X1相机不能够调节距离远近么?或者有什么办法可以改变下么? 篆刻字体转换需要工具吗 签订保密协议后违约了应该怎么办 急需篆刻篆刻字体转换器 求发送至 bf7882@163.com. 感激不尽。 员工离职后违反保密协议怎么处理 员工保密协议的违约金一般是多少 员工违反保密协议,是否承担责任 违反保密协议 违约责任如何追究? 员工保密协议问题,离职后被公司起诉 华为nova6可以扫描嘛? 华为nova6怎么扫描图片裁剪多余部分? 跪求Bonjour(苹果投屏插件)V3.1 官方最新版软件百度云资源 苹果手机如何投屏到电脑上?有什么好的投屏软件? 投屏软件有什么 哪些可以苹果手机投屏电脑使用 gridview 添加图片 在吃鸡飞机上聊天女生被称为果丹皮是什么鬼? 送男孩果丹皮什么意思? 果丹皮是什么意思 什么叫果丹皮 果丹皮名字由来 网红果丹皮的真实名字是什么?