c# - FILESTREAM - 使用 SQLFileStream 读取存储在文件系统中的文档

标签 c# filestream

我将 Filestream 文档保存在 NTFS 中。每次我尝试使用下面的 block 访问它们时,我都会在 Image.FromStream 行上收到“参数无效”错误消息。这与FS文件夹中存储的文件有什么关系吗?还是我的参数遗漏了什么? 有没有办法查看文件夹中的文件以验证它们是否格式正确?

private static Image LoadPhotoImage(string filePath, byte[] txnToken)
    {
        Image photo;
        try
        {
            using (SqlFileStream sfs =
              new SqlFileStream(filePath, txnToken, FileAccess.Read))
            {
                photo = Image.FromStream(sfs,false);
                sfs.Close();
            }

            return photo;
        }
        catch (ArgumentException ae)
        {
            System.Diagnostics.Debug.WriteLine(ae.Message);
            return null;
        }
    }

最佳答案

根据 MSDN Documentation,您不能将 SqlFileStream 用于此目的:

“SqlFileStream 类用于处理以 FILESTREAM 属性存储在 SQL Server 2008 数据库中的 varbinary(max) 数据。”

只需使用 Image.FromFile 加载图像。

关于c# - FILESTREAM - 使用 SQLFileStream 读取存储在文件系统中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215927/

相关文章:

C# 从文件序列化数据契约(Contract)

c# - 如何在 C# 中使用 GZipStream 压缩多个文件

c# - 如何隐藏控制台窗口?

c# - 将构造函数参数从接口(interface)类型转换为具体类类型在这里是错误的吗?

c# - ASP NET Core 返回文件使用 IE11 失败?内容长度不匹配

c# - 添加滑动手势以打开 SplitView Pane

c# - 将固定长度的字符串写到文件上吗?

sql-server-2008 - 一个表中是否可以有两个 FILESTREAM 列?

c# - 当文件被不同的进程删除时,文件流会发生什么?

c# - 获取 "Could not find an implementation of the query pattern for source type ' ExcelQueryable<T >'. "错误