zoukankan      html  css  js  c++  java
  • 把图片保存到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 />
            &nbsp;<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();
    
            }
        }
  • 相关阅读:
    Linux 命令笔记
    MySQL指令笔记
    悲观锁与乐观锁
    缓存在高并发场景下的常见问题
    死锁相关问题
    Java并发性和多线程
    Java同步和异步,阻塞和非阻塞
    内存溢出和内存泄漏
    JavaAndroid项目配置文件笔记
    Maven安装配置
  • 原文地址:https://www.cnblogs.com/siri/p/2882281.html
Copyright © 2011-2022 走看看