FILESTREAM - Чтение документов, хранящихся в файловой системе, с использованием SQLFileStream - PullRequest
2 голосов
/ 21 ноября 2011

Я сохранил документы Filestream в NTFS. Каждый раз, когда я пытаюсь получить к ним доступ, используя приведенный ниже блок, я получаю сообщение об ошибке «Параметр не действителен» в строке 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;
        }
    }

1 Ответ

0 голосов
/ 21 ноября 2011

Вы не можете использовать SqlFileStream для этой цели согласно Документации MSDN :

"Класс SqlFileStream используется для работы с varbinary (max) данными, хранящимися с атрибутом FILESTREAM вбазы данных SQL Server 2008. "

Просто используйте Image.FromFile для загрузки изображения.

...