gpt4 book ai didi

c# - 如何将二进制转换为字节并在c#中作为文件写入

转载 作者:太空狗 更新时间:2023-10-30 01:09:55 24 4
gpt4 key购买 nike

我正在尝试使用 C# 从数据库中读取二进制文件并作为文件写入本地磁盘。

使用下面的代码...但是这一行有问题:byte[] fileAsByte = byte.Parse(row["Blob"]);

public static void ReadBlob()
{
int icount = 0;
string FileName;
SqlConnection Mycon = new SqlConnection(Con);
Mycon.Open();
string queryString = "select * from " + TblName;
SqlDataAdapter adapter = new SqlDataAdapter(queryString, Mycon);

DataTable dtBlob = new DataTable();
adapter.Fill(dtBlob);


foreach (DataRow row in dtBlob.Rows)
{
byte[] fileAsByte = byte.Parse(row["Blob"]);
FileName = FilePath + TblName + row["BlobId"].ToString() + FileType;

WriteBlob(fileAsByte, FileName);
}

Mycon.Close();
}

public static void WriteBlob(byte[] buff, string fileName)
{
try
{
FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(buff);
bw.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

最佳答案

byte.Parse 将尝试解析一个单个 字节。你试过只转换吗?

byte[] fileAsByte = (byte[]) row["Blob"];

如果失败,它至少应该向您显示DataRow实际 的类型。希望它是某种可以相当容易地转换为 byte[] 的类型。

关于c# - 如何将二进制转换为字节并在c#中作为文件写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com