C#实现文件与二进制互转并存入数据库

前端技术 2023/09/06 C#
//这个方法是浏览文件对象
    private void button1_Click(object sender, EventArgs e)
    {
      //用户打开文件浏览
      using (OpenFileDialog dialog = new OpenFileDialog())
      {
        //只能单选一个文件
        dialog.Multiselect = false;
        //选择一个文件
        if (dialog.ShowDialog() == DialogResult.OK)
        {
          try
          {
            //把选择的文件路径给txtPath
            this.textBox1.Text = dialog.FileName;
          }
          catch (Exception ex)
          {
            //抛出异常
            throw (ex);
          }
        }
      }
    }

    //关闭
    private void button3_Click(object sender, EventArgs e)
    {
      this.Close();
    }

    //把文件转成二进制流出入数据库
    private void button2_Click(object sender, EventArgs e)
    {
      FileStream fs = new FileStream(textBox1.Text, FileMode.Open);
      BinaryReader br = new BinaryReader(fs);
      Byte[] byData = br.ReadBytes((int)fs.Length);
      fs.Close();
      string conn = \"server=.;database=testDB;Uid=sa;Pwd=sa \";
      SqlConnection myconn = new SqlConnection(conn);
      myconn.Open();
      string str = \"insert into pro_table (pro_name,pro_file) values(\'测试文件\',@file)\";
      SqlCommand mycomm = new SqlCommand(str, myconn);
      mycomm.Parameters.Add(\"@file\", SqlDbType.Binary, byData.Length);
      mycomm.Parameters[\"@file\"].Value = byData;
      mycomm.ExecuteNonQuery();
      myconn.Close();
    }

    //从数据库中把二进制流读出写入还原成文件
    private void button4_Click(object sender, EventArgs e)
    {
      string conn = \"server=.;database=testDB;Uid=sa;Pwd=sa \";
      string str = \"select pro_file from pro_table where pro_name=\'测试文件\' \";
      SqlConnection myconn = new SqlConnection(conn);
      SqlDataAdapter sda = new SqlDataAdapter(str, conn);
      DataSet myds = new DataSet();
      myconn.Open();
      sda.Fill(myds);
      myconn.Close();
      Byte[] Files = (Byte[])myds.Tables[0].Rows[0][\"pro_file\"]; 
      BinaryWriter bw = new BinaryWriter(File.Open(\"D:\\\\2.rdlc\",FileMode.OpenOrCreate));
      bw.Write(Files);
      bw.Close();
       
    }

本文地址:https://www.stayed.cn/item/16948

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。