C# 通过TEA将结果convert.fromBase64字符串存储为postgres

C# 通过TEA将结果convert.fromBase64字符串存储为postgres,c#,arrays,postgresql,byte,bytea,C#,Arrays,Postgresql,Byte,Bytea,我有一个迷你系统,前端将以base64格式将文件传递到后端。我使用convert.frombase64string将base64格式转换为字节数组,并使用文件流将文件保存到服务器中 代码如下所示: byte[] bytes = Convert.FromBase64String(file.Split(',')[1]); using (var file = new FileStream("D:test.txt", FileMode.Create)) { file.Write(bytes,

我有一个迷你系统,前端将以base64格式将文件传递到后端。我使用convert.frombase64string将base64格式转换为字节数组,并使用文件流将文件保存到服务器中

代码如下所示:

byte[] bytes = Convert.FromBase64String(file.Split(',')[1]);

using (var file = new FileStream("D:test.txt", FileMode.Create))
{
    file.Write(bytes, 0, bytes.Length);
    file.Flush();
}

var db = await _context.insertDB.FromSql("INSERT INTO blobTable (blob) VALUES ('" + bytes + "')").SingleAsync(); 
这是我从blobTable中选择的结果

因为Convert.FromBase64String()的返回结果是字节数组。因此,我决定将该值存储到我的数据库中,该数据库是带有列bytea[]的postgres

问题是,当我试图

console.writeline(bytes);
结果打印为“system.byte[]”,而不是字节值。所以“system.byte[]”被存储到我的数据库中,而不是实际值


有人能告诉我如何将convert.frombase64string()的返回值存储到postgres bytea[]列中吗?谢谢。

问题出在你写给postgres的代码中,但你还没有向我们展示该代码。如果你能提供一个字符串,那就太棒了。
“+bytes+”
正在将其转换为
字符串
——即使你不想这样做。查看如何正确传递字节数组。您应该使用参数化SQL查询-这将解决您的问题。