以下是我把文件存入数据库和从数据库中去压缩文件的代码。
可文件取出后,用rar打开时提示时却提示不可预料的文件末端。
请问是什么原因?存入库的代码:
FileStream rarFS = File.OpenRead(directoryAndFile);
Stream filedatastream = (Stream)rarFS;
int filedatalen = directoryAndFile.Length;
byte[] filedata = new byte[filedatalen];
int n = filedatastream.Read(filedata,0,filedatalen);

SqlConnection Con = new SqlConnection("Data Source = (local);Integrated Security = true;Initial Catalog = testDB");
String SqlCmd = "INSERT INTO testTable (fileData) VALUES (@file)";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
//CmdObj.Parameters.Add("@title",directory);
//CmdObj.Parameters.Add("@type",".rar");
CmdObj.Parameters.Add("@file",SqlDbType.Binary, (int)rarFS.Length).Value = filedata; Con.Open();
CmdObj.ExecuteNonQuery(); 
Con.Close();
filedatastream.Close();取文件的代码:
SqlConnection conn = new SqlConnection("Data Source = (local);Integrated Security = true;Initial Catalog = testDB");
string sql="SELECT fileData FROM testTable" ;
   SqlCommand command = new SqlCommand(sql, conn);
   
  conn.Open();
  
  SqlDataReader dr = command.ExecuteReader();
  if(dr.Read())
  {
  FileInfo fi = new FileInfo("C:\\adpcm2.rar");
  FileStream myStream=fi.Open(FileMode.Create); 
  byte[] mydata=((byte[])dr["fileData"]);
 
  foreach(byte a in mydata)
  {
  myStream.WriteByte(a); 
  } myStream.Close();

dr.Close ();
conn.Close();
}请给与指点。谢谢!!