C#实现文件与二进制互转并存入数据库
生活随笔
收集整理的這篇文章主要介紹了
C#实现文件与二进制互转并存入数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這篇文章主要介紹了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.cnblogs.com/wanghx-0713/p/7879040.html
總結
以上是生活随笔為你收集整理的C#实现文件与二进制互转并存入数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PageObjects 设计模式
- 下一篇: asp.net core权限模块的快速构