Asp.net 如何将二进制文件写入文件

Asp.net 如何将二进制文件写入文件,asp.net,Asp.net,我的代码应该是从数据库中读取二进制值并将其转换为zip文件。它只创建一个43kb大的文件,无法提取。我错过了什么 com = new SqlCommand("SELECT BinFile FROM tbl_reports WHERE DBKey=411", conString); byte[] blob = (byte[])com.ExecuteScalar(); File.WriteAllBytes("C:\\" + "test.zip", blob); 使用,这里是一个例子

我的代码应该是从数据库中读取二进制值并将其转换为zip文件。它只创建一个43kb大的文件,无法提取。我错过了什么

com = new SqlCommand("SELECT BinFile FROM tbl_reports WHERE DBKey=411", conString);     
byte[] blob = (byte[])com.ExecuteScalar();
File.WriteAllBytes("C:\\" + "test.zip", blob);
使用,这里是一个例子

   using (ZipFile zip = new ZipFile())
   {
       zip.Password = pwd;
       zip.AddFile(saveFileDialog1.FileName + ".xml");
       zip.Save(saveFileDialog1.FileName + ".zip");
   }
此外,我认为您需要将
字节[]
转换为字符串,然后再转换为文本文件。
你可以用这个方法

编辑

如果要将
字节[]
写入文件,请使用此函数

public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
   {
      try
      {
      System.IO.FileStream _FileStream = 
     new System.IO.FileStream(_FileName, System.IO.FileMode.Create,
                              System.IO.FileAccess.Write);
     _FileStream.Write(_ByteArray, 0, _ByteArray.Length);
     _FileStream.Close();

  return true;
      }
    catch (Exception _Exception)
        {
    Console.WriteLine("Exception caught in process: {0}",
                    _Exception.ToString());
        }
   return false;
   }
然后调用这个函数

com = new SqlCommand("SELECT BinFile FROM tbl_reports WHERE DBKey=411", conString);     
byte[] blob = (byte[])com.ExecuteScalar();
ByteArrayToFile("C:\\test.txt",blob);

您是否已将二进制数据写入文本文件并确保它是您想要的数据?是的,所有内容都在数据库中。我只需要将它们保存为可用文件。有不同的类型,从zip、jpg、xsl等等。我不想压缩文件,我只需要从数据库读取文件。不一定是zip,任何文件类型。你说过“将其转换为zip文件”!那么,这是什么意思?请原谅我的“英语”。我只需要从数据库中读取一个文件并保存它而不是
File.writealBytes(“C:\\”+“test.zip”,blob),或者您可以查看我的编辑!