11
2024
09
10:39:15

把图片保存到SQL中并显示出来

CREATE TABLE [imageinsertsql] (

 [Imageid] [int] IDENTITY (1, 1) NOT NULL ,

 [imagetitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

 [imagetype] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

 [imagesize] [int] NULL ,

 [imagedata] [image] NULL 

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO





    <div>

        <asp:Label ID="Label1" runat="server" Height="43px" Text="Label" Width="360px"></asp:Label><br />

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />

        <input id="File1" type="file"  runat="server"/><br />

         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

        <br />

        <asp:TextBox ID="TextBox2" runat="server">0</asp:TextBox><br />

        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="显示图片" />

        </div>


protected void Button1_Click(object sender, EventArgs e)

    {

        HttpPostedFile UpFile = File1.PostedFile;


        int FileLenght = UpFile.ContentLength;


        TextBox1.Text = FileLenght.ToString();

        try

        {

            if (FileLenght == 0)

            {

                TextBox1.Text = "<b>你未选择上传得文件</b>";


            }

            else

            {

                Byte[] FileByteArray= new Byte[FileLenght];

                Stream StreamObject =UpFile.InputStream;

                StreamObject.Read(FileByteArray,0,FileLenght);


                string strconn="Server=.;UID=sa;PWD=;Database=Demo";

                string  strinsert="insert into imageinsertsql(imagetitle,imagesize,imagetype,imagedata) values(";

                        strinsert+="@imagetitle,@imagesize,@imagetype,@imagedata)";

                SqlCommand mycomm = new SqlCommand(strinsert, new SqlConnection(strconn));


                mycomm.Parameters.Add("@imagetitle", SqlDbType.Text);

                mycomm.Parameters.Add("@imagesize", SqlDbType.Int);

                mycomm.Parameters.Add("@imagetype", SqlDbType.Text);

                mycomm.Parameters.Add("@imagedata", SqlDbType.Image);


                mycomm.Parameters["@imagetitle"].Value = TextBox1.Text;

                mycomm.Parameters["@imagesize"].Value = FileLenght;    

                mycomm.Parameters["@imagetype"].Value = UpFile.ContentType;

                mycomm.Parameters["@imagedata"].Value = FileByteArray;


                mycomm.Connection.Open();

                mycomm.ExecuteNonQuery();

                mycomm.Connection.Close();


                Label1.Text = "<B>上传文件成功</B>";

                



            }

        }

        catch(Exception ex)

        {

            TextBox1.Text = ex.Message.ToString();

        }

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        int imageid = Convert.ToInt32(TextBox2.Text);

        string strconn = "Server=.;UID=sa;PWD=;Database=Demo";

        string strsquery = "select * from imageinsertsql where imageid=@imageid";


        SqlCommand mycom = new SqlCommand(strsquery, new SqlConnection(strconn));


        mycom.Parameters.Add("@imageid", SqlDbType.Int);


        mycom.Parameters["@imageid"].Value = imageid;


        mycom.Connection.Open();

        SqlDataReader dr = mycom.ExecuteReader();

        if (dr.Read())

        {

            Response.ContentType = (string)dr["imagetype"];

            Response.OutputStream.Write((byte[])dr["imagedata"], 0, (int)dr["imagesize"]);


        }

        else

        {

            Response.Write("没有这个ID");

            Response.End();


        }

    }




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/7939.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: