zoukankan      html  css  js  c++  java
  • 保存/读取图片到数据库

     private void SaveImage(string fileName)
            
    {
                
    // Read the file into a byte array
                using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                
    {
                    
    byte[] imageData = new Byte[fs.Length];
                    fs.Read(imageData, 
    0, (int)fs.Length);

                    
    using (SqlConnection conn = new SqlConnection(connectionString))
                    
    {
                        
    string sql = "insert into image (imagefilename,blobdata) values (@filename,@blobdata)";
                        SqlCommand cmd 
    = new SqlCommand(sql, conn);
                        cmd.Parameters.Add(
    "@filename",SqlDbType.Text);
                        cmd.Parameters[
    "@filename"].Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(
    "@blobdata", SqlDbType.Image);
                        cmd.Parameters[
    "@blobdata"].Direction = ParameterDirection.Input;
                        
    // Store the byte array within the image field
                        cmd.Parameters["@filename"].Value = fileName;
                        cmd.Parameters[
    "@blobdata"].Value = imageData;
                        conn.Open();
                        
    if (cmd.ExecuteNonQuery() == 1)
                        
    {
                            MessageBox.Show(
    "Done");
                        }

                    }

                }

            }


            
    private void LoadImage(string fileName)
            
    {
                
    using (SqlConnection conn = new SqlConnection(connectionString))
                
    {
                    
    string sql = "select blobdata from Image where ImageFileName like @filename";
                    SqlCommand cmd 
    = new SqlCommand(sql, conn);
                    cmd.Parameters.Add(
    "@filename", SqlDbType.Text);
                    cmd.Parameters[
    "@filename"].Value = fileName;

                    conn.Open();

                    
    object objImage = cmd.ExecuteScalar();

                    
    byte[] buffer = (byte[])objImage;

                    BinaryWriter bw 
    = new BinaryWriter(new FileStream("C:\\abcd.png", FileMode.Create));
                    bw.Write(buffer);
                    bw.Close();

                  MemoryStream ms 
    = new MemoryStream(buffer);
                    Image bgImage 
    = Image.FromStream(ms);
                    ms.Close();
                    
    this.BackgroundImage = bgImage;
                }

                
            }

  • 相关阅读:
    isequal 和startswith 使用
    UVa10340
    UVa1368
    UVa455
    UVa1225
    UVa1586
    UVa 1585
    UVa10082
    UVa272
    NYOJ1
  • 原文地址:https://www.cnblogs.com/sskset/p/591771.html
Copyright © 2011-2022 走看看