将字节数组从 sql 文件流传回其原始文件

Pass byte array back to its original file from sql filestream

我在我的 mssql 服务器上安装了文件流,到目前为止它运行良好。目前,我的数据库中有一个实体,是我手动添加的。

当我添加我的文件时,它自动转换为 byte[],当我通过我的 .NET Core 应用程序获取它时,它同样显示为 byte[](惊喜)。

最理想的是,我想知道如何将这个字节数组解码到原始文件中?我已经阅读了几个地方,我需要提供文件的原始扩展名才能做到这一点。

但是,我没有在我的数据库中添加这样一个列 - 我可以轻松地添加这样一个列,但我觉得很奇怪,如果不提供额外的信息就无法将其传回其原始格式参数。

因此,有没有一种方法可以将字节数组转换回其原始文件,以便用户可以轻松下载它,而无需进行某种综合转换? 我很想知道,如果你们中的任何一个能指出我的方向。

文件流列包含文件的内容,而不是其外部元数据,如原始文件名、扩展名、目录位置和访问控制列表。如果你将 byte[] 写入磁盘,例如 File.WriteAllBytes(string,byte[]) 它将是一个可用的文件。