zoukankan      html  css  js  c++  java
  • C#把图片转换字节存入数据库在读取显示出来。

    //获取图片的详细信息 并把图片转换到字节 

    privatevoid button1_Click(object sender, EventArgs e)
            {
                string pPath = Application.StartupPath + @"\QQ.jpg";
                FileInfo fi = new FileInfo(pPath);
                byte[] Temp = imageToByteArray(pPath);
                Image img = byteArrayToImage(Temp);
                int W = img.Width;
                int H = img.Height;

                string Fm = fi.Extension;//扩展名
                long size = fi.Length; //
                string Fn = fi.Name;
                string info = "名称:" + Fn + "  分辨率:" + W + "*" + H;
                info += "  格式:" + Fm + "  大小:" + ((size > 1024) ? ((float)((float)size / 1024.0)).ToString("0.00") + "KB" : size + "B");
                this.label1.Text = info;
                this.pictureBox1.Height = H;
                this.pictureBox1.Width = W;
                this.pictureBox1.Image = img;
            }

            private void button2_Click(object sender, EventArgs e)
            {
                string pPath = Application.StartupPath + @"\QQ.jpg";
                byte[] Temp = imageToByteArray(pPath);
                StringBuilder Sb = new StringBuilder();
                for (int i = 0; i < Temp.Length; i++)
                {
                    Sb.Append(Temp[i].ToString());
                }
                richTextBox1.Text = Sb.ToString();

            }
            /// <summary>
            
    /// 图片转为Byte字节数组
            
    /// </summary>
            
    /// <param name="FilePath">路径</param>
            
    /// <returns>字节数组</returns>
            private byte[] imageToByteArray(string FilePath)
            {
                using (MemoryStream ms = new MemoryStream())
                {

                    using (Image imageIn = Image.FromFile(FilePath))
                    {

                        using (Bitmap bmp = new Bitmap(imageIn))
                        {
                            bmp.Save(ms, imageIn.RawFormat);
                        }

                    }
                    return ms.ToArray();
                }
            }
            /// <summary>
            
    /// 字节数组生成图片
            
    /// </summary>
            
    /// <param name="Bytes">字节数组</param>
            
    /// <returns>图片</returns>
            private Image byteArrayToImage(byte[] Bytes)
            {
                using (MemoryStream ms = new MemoryStream(Bytes))
                {
                    Image outputImg = Image.FromStream(ms);
                    return outputImg;
                }
             }

    //从数据库里面读取出来

    private void button1_Click(object sender, EventArgs e)

            {

              openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";

                if(openFileDialog1.ShowDialog()==DialogResult.OK)

                {

                  string fullpath =openFileDialog1.FileName;//文件路径

                  FileStream fs = new FileStream(fullpath, FileMode.Open);

                    byte[] imagebytes =new byte[fs.Length];

                    BinaryReader br = new BinaryReader(fs);

                    imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));

                    //打开数据库

                    SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");

                    con.Open();

                    SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);

                    com.Parameters.Add("ImageList", SqlDbType.Image);

                    com.Parameters["ImageList"].Value = imagebytes;

                   com.ExecuteNonQuery();

                   con.Close();

                 }    

    }

  • 相关阅读:
    部署prerender服务器
    Bzoj4727--Poi2017Turysta
    Bzoj4818--Sdoi2017序列计数
    Heoi2014系列题解
    scoi2017酱油记
    Burnside引理与Pólya定理
    2017省选前北京集训总结
    奥妙重重的随机发生器
    ???--???Insection is not allowed
    反演
  • 原文地址:https://www.cnblogs.com/junjie94wan/p/2334073.html
Copyright © 2011-2022 走看看