c# 將文件讀取成二進制流


通用的將文件讀取為二進制方法

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
byte[] fileArray = r.ReadBytes((int)fs.Length);

fs.Dispose();

  

下面介紹C#實現文件與二進制互轉並存入數據庫

     
//把文件轉成二進制流出入數據庫
    
      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();
  
 
    //從數據庫中把二進制流讀出寫入還原成文件
    
      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();
    

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM