ITKeyword,专注技术干货聚合推荐

注册 | 登录

Asp.net 2.0(C#)图片存储到数据库和从数据库读取显示

hongsejiaozhu 分享于 2008-04-10

推荐:asp.net 图片数据库存储详解(例子完整版)

  asp.net 图片数据库存储详解(例子完整版)   asp.net 图片数据库存储详解(例子完整版) 按照以下的程序代码,经过本人在vs2005上的测试,修改实际可以运行的

2020腾讯云共同战“疫”,助力复工(优惠前所未有!4核8G,5M带宽 1684元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1053

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

最近捣鼓了一下,效果就是这样:
图1:


图2:


ImageFileUpload.aspx:

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " ImageFileUpload.aspx.cs "  Inherits = " ImageFileUpload "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
     < title > 图片保存和显示 </ title >
</ head >
< body >
     < form id = " Form2 "  enctype = " multipart/form-data "  runat = " server " >

             < asp:Table ID = " Table1 "  Runat = " server "  Width = " 39% "  BorderWidth = " 1 "  BackColor = " Beige " >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell ColumnSpan = " 2 "  BackColor = " Red "  runat = " server " >

                                     < asp:Label ID = " Label1 "  Font - size = " 12px "  ForeColor = " White "  font - bold = " True "  Runat = " server "  Text = " 添加 "  Font - Names = " verdana "   />

                                     </ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell HorizontalAlign = " Right "  runat = " server " >< asp:Label ID = " Label2 "  Font - size = " 12px "   Runat = " server "  Text = " 名字 "  Font - Names = " verdana "   /></ asp:TableCell >

                                     < asp:TableCell runat = " server " >< asp:TextBox id = " txtPersonName "  Runat = " server "   /></ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell HorizontalAlign = " Right "  runat = " server " >< asp:Label ID = " Label3 "  Font - size = " 12px "   Runat = " server "  Text = " Email "  Font - Names = " verdana "   /></ asp:TableCell >

                                     < asp:TableCell runat = " server " >< asp:TextBox id = " txtPersonEmail "  Runat = " server "   /></ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell HorizontalAlign = " Right "  runat = " server " >< asp:Label ID = " Label4 "  Font - size = " 12px "   Runat = " server "  Text = " 性别 "  Font - Names = " verdana "   /></ asp:TableCell >

                                     < asp:TableCell runat = " server " >

                                                 < asp:RadioButton GroupName = " sex "   Font - Size = " 12px "  Text = " 男性 "  ID = " sexMale "  Runat = " server "    Checked = " true "   />

                                                 < asp:RadioButton GroupName = " sex "   Font - Size = " 12px "  Text = " 女性 "  ID = " sexFeMale "  Runat = " server "   />

                                     </ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell HorizontalAlign = " Right "  runat = " server " >< asp:Label ID = " Label5 "  Font - size = " 12px "   Runat = " server "  Text = " 生日 "  Font - Names = " verdana "   /></ asp:TableCell >

                                     < asp:TableCell runat = " server " >< asp:TextBox id = " txtPersonDob "  runat = " server "   /></ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell HorizontalAlign = " Right "  runat = " server " >< asp:Label ID = " Label6 "  Font - size = " 12px "   Runat = " server "  Text = " 图片 "  Font - Names = " verdana "   /></ asp:TableCell >

                                     < asp:TableCell runat = " server " >< input type = " file "  id = " PersonImage "  runat = " server "   /></ asp:TableCell >

                         </ asp:TableRow >

                         < asp:TableRow runat = " server " >

                                     < asp:TableCell ColumnSpan = " 2 "  HorizontalAlign = " Center "  runat = " server " >

                                     < asp:Button ID = " Button1 "  Text = " 添加 "  OnClick = " AddPerson "  runat = " server "   />

                                     </ asp:TableCell >

                         </ asp:TableRow >

             </ asp:Table >
         < br  />
         < table >
             < tr >
                 < td align = " left "  valign = " top "  style = " width: 181px " >
                     < asp:Label ID = " Label_Message "  runat = " server "  Font - Size = " 10pt " ></ asp:Label ></ td >
                 < td style = " width: 7px " >
                 </ td >
                 < td align = " left "  style = " width: 18px "  valign = " top " >
                 </ td >
             </ tr >
             < tr >
                 < td style = " width: 181px; "  align = " left "  valign = " top " >
                     < asp:GridView ID = " GridView1 "  runat = " server "  AutoGenerateColumns = " False "  CellPadding = " 4 "  DataKeyNames = " PersonID "  DataSourceID = " SqlDataSource_SelectImage "  ForeColor = " #333333 "  OnSelectedIndexChanged = " GridView1_SelectedIndexChanged "  Font - Size = " 10pt "  Width = " 200px "  BackColor = " #FFE0C0 " >
                         < FooterStyle BackColor = " #507CD1 "  Font - Bold = " True "  ForeColor = " White "   />
                         < Columns >
                             < asp:TemplateField HeaderText = " 序号 "  InsertVisible = " False "  SortExpression = " PersonID " >
                                 < EditItemTemplate >
                                     < asp:Label ID = " Label1 "  runat = " server "  Text = ' <%# Eval("PersonID") %> ' ></ asp:Label >
                                 </ EditItemTemplate >
                                 < ItemTemplate >
                                     < asp:Label ID = " Label1 "  runat = " server "  Text = ' <%# Bind("PersonID") %> ' ></ asp:Label >
                                 </ ItemTemplate >
                                 < HeaderStyle Width = " 35px "   />
                             </ asp:TemplateField >
                             < asp:BoundField DataField = " PersonName "  HeaderText = " 名字 "  SortExpression = " PersonName "   />
                             < asp:BoundField DataField = " PersonImageType "  HeaderText = " 图片类型 "  SortExpression = " PersonImageType "   />
                             < asp:CommandField ShowSelectButton = " True "   >
                                 < ItemStyle Width = " 30px "   />
                             </ asp:CommandField >
                         </ Columns >
                         < RowStyle BackColor = " #EFF3FB "   />
                         < EditRowStyle BackColor = " #2461BF "   />
                         < SelectedRowStyle BackColor = " #D1DDF1 "  Font - Bold = " True "  ForeColor = " #333333 "   />
                         < PagerStyle BackColor = " #2461BF "  ForeColor = " White "  HorizontalAlign = " Center "   />
                         < HeaderStyle BackColor = " Red "  Font - Bold = " True "  ForeColor = " White "   />
                         < AlternatingRowStyle BackColor = " White "   />
                     </ asp:GridView >
                 </ td >
                 < td style = " width: 7px; height: 180px; " >
                 </ td >
                 < td align = " left "  style = " width: 18px; height: 180px; "  valign = " top " >
                     < asp:Image ID = " Image_Show "  runat = " server "   /></ td >
             </ tr >
             < tr >
                 < td style = " width: 181px " >
                     </ td >
                 < td style = " width: 7px " >
                 </ td >
                 < td style = " width: 18px " >
                 </ td >
             </ tr >
             < tr >
                 < td style = " width: 181px; height: 21px; " >
                 </ td >
                 < td style = " width: 7px; height: 21px; " >
                 </ td >
                 < td style = " width: 18px; height: 21px; " >
                 </ td >
             </ tr >
         </ table >
         < asp:SqlDataSource ID = " SqlDataSource_SelectImage "  runat = " server "  ConnectionString = " <%$ ConnectionStrings:ImageSelect_ConnectionString %> "
            SelectCommand = " SELECT PersonID, PersonName, PersonImageType FROM Person " ></ asp:SqlDataSource >

     </ form >
</ body >
</ html >

ImageFileUpload.aspx.cs:
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;
using  System.IO;




public  partial  class  ImageFileUpload : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
     {

    }





    protected void AddPerson(object sender, EventArgs e)
     {
        int intImageSize;
        string strImageType;
        Stream ImageStream;

         intImageSize = PersonImage.PostedFile.ContentLength;
         ImageStream = PersonImage.PostedFile.InputStream;
         strImageType = PersonImage.PostedFile.ContentType;
        Byte[] ImageContent = new Byte[intImageSize];
        int  intStatus;
        intStatus = ImageStream.Read(ImageContent, 0, intImageSize);

        //string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["Lw_SqlConnectString"];
        string ConnStr = "Data Source=127.0.0.1;Initial Catalog=Pfrmis_TZXY;User ID=sa";
        SqlConnection myConnection=new SqlConnection(ConnStr);
        SqlCommand  myCommand=new SqlCommand("sp_person_isp", myConnection);
        myCommand.CommandType = CommandType.StoredProcedure;

        SqlParameter prmEmail=new SqlParameter("@PersonEmail", SqlDbType.VarChar, 255);

        prmEmail.Value = txtPersonEmail.Text;
        myCommand.Parameters.Add(prmEmail);

        SqlParameter prmName=new SqlParameter("@PersonName", SqlDbType.VarChar, 255);

        prmName.Value = txtPersonName.Text;
        myCommand.Parameters.Add(prmName);

        SqlParameter prmSex =new SqlParameter("@PersonSex", SqlDbType.Char, 1);
        if (sexMale.Checked) 
         {
            prmSex.Value = "M";
        }
        else
         {
             prmSex.Value = "F";
        }
        myCommand.Parameters.Add(prmSex);

        SqlParameter prmPersonDOB= new SqlParameter("@PersonDOB", SqlDbType.DateTime);

        prmPersonDOB.Value = txtPersonDob.Text;

        myCommand.Parameters.Add(prmPersonDOB);

        SqlParameter prmPersonImage =new SqlParameter("@PersonImage", SqlDbType.Image);

        prmPersonImage.Value = ImageContent;

        myCommand.Parameters.Add(prmPersonImage);

        SqlParameter prmPersonImageType =new SqlParameter("@PersonImageType", SqlDbType.VarChar, 255);

        prmPersonImageType.Value = strImageType;

        myCommand.Parameters.Add(prmPersonImageType);

        try
         {
            
            myConnection.Open();
            myCommand.ExecuteNonQuery();

            myConnection.Close();

            Response.Write("添加成功!");

        }
        catch(SqlException  SQLexc)
         {
            Response.Write("插入失败,错误如下: " + SQLexc.ToString());
        }
                                   


    }

 
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
     {

       // Session["id"] = "";
       
        Label lbl1;
        lbl1 = (Label)GridView1.SelectedRow.Cells[0].FindControl("Label1");

        Label_Message.Text ="你选择的图片是:"+lbl1.Text;
        Session["id"] = lbl1.Text;
        Image_Show.ImageUrl = "ImageShow.aspx";
    }
}

ImageShow.aspx:(显示图片)
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " ImageShow.aspx.cs "  Inherits = " ImageShow "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
     < title > 无标题页 </ title >
</ head >
< body >
     < form id = " form1 "  runat = " server " >
     < div >
    
     </ div >
     </ form >
</ body >
</ html >

ImageShow.aspx.cs:

using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;
public  partial  class  ImageShow : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
     {
        //连接数据库的第一种方法
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.AppSettings["Lw_SqlConnectString"]);

        //连接数据库的第二种方法
        //SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=Tcis_shrl;User Id=sa;Password=;");
        if (Session["id"] == null)
         {

        }
        else
         {
            string sql = "Select PersonImage from Person Where PersonID=";
            SqlCommand myCommand = new SqlCommand(sql + Session["id"].ToString().Trim(), myConnection);
            
            try
             {
                myConnection.Open();
                SqlDataReader myDataReader;
                myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
                if (myDataReader.Read())
                 {
                    Response.Clear();

                   
                  //  Response.ContentType = "image/pjpeg";//可有可无
                    Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
                }
                myConnection.Close();
            }
            catch (SqlException SQLexc)
             {
                 Response.Write(SQLexc);
            }
            Response.End();
        }
    }
}


最后一个存储过程:
Drop Table Person

Go

 

Create Table Person

(

PersonID Int Identity,

PersonEmail Varchar(255),

PersonName Varchar(255),

PersonSex Char(1),

PersonDOB DateTime,

PersonImage Image,

PersonImageType Varchar(255)

)

 

Drop Proc sp_person_isp

Go

推荐:ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程

Sql server的帮助文档地址,在IE里面直接输入就行 mk:@MSITStore:C:/Program%20Files/Microsoft%20SQL%20Server/80/Tools/Books/tsqlref.chm::/ts_ba-bz_35ww.ht

 

Create Proc sp_person_isp

@PersonEmail Varchar(255),

@PersonName Varchar(255),

@PersonSex Char(1),

@PersonDOB DateTime,

@PersonImage Image,

@PersonImageType Varchar(255)

As

Begin

            Insert into Person

                        (PersonEmail, PersonName, PersonSex,

                         PersonDOB, PersonImage, PersonImageType)

            Values

                        (@PersonEmail, @PersonName, @PersonSex,

                         @PersonDOB, @PersonImage, @PersonImageType)

End

 

Go 

推荐:用C#实现图片数据库存储与显示

  在网络上查找了一些资料,对C#实现图片的数据库存储与显示作个总结!所有代码都可以直接复制运行。准备数据库,在SQL2000数据库的pubs数据库中建立一个ImageSt

最近捣鼓了一下,效果就是这样: 图1: 图2: ImageFileUpload.aspx: <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " ImageFileUpload.aspx.cs "  Inherits = " Imag

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。