保存/读取图片到数据库

 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;
            }

            
        }

原文地址:https://www.cnblogs.com/sskset/p/591771.html