Asp.net 如何将二进制文件写入文件
我的代码应该是从数据库中读取二进制值并将其转换为zip文件。它只创建一个43kb大的文件,无法提取。我错过了什么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); 使用,这里是一个例子
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)代码>,或者您可以查看我的编辑!