将varbinary转换为二进制数组时出现异常

时间:2015-04-14 13:58:22

标签: c# sql filestream

我有一个SQL Server表,其Rawcontent的类型为varbinary FileStream

TABLE [dbo].[DocTable]
(
    VersionId [uniqueidentifier] NOT NULL,
    RawContent [varbinary](max) FILESTREAM  NULL,

现在,当我尝试使用:

获取fileStream数据时
foreach (DataRow dtr in dataTable.Rows)
{
    docStream = (byte[])dtr["RawContent"];
}

获取异常,无法从System.String转换为System.Byte。

为什么我在SQL Server上将内容保存为FileStream时返回字符串?

1 个答案:

答案 0 :(得分:1)

如果您将docstream声明为字节数组,则需要先使用FileStream对象,然后将其转换为字节数组

https://msdn.microsoft.com/en-us/library/vstudio/cc716724%28v=vs.100%29.aspx