Чтение FileStream со страницы aspx - PullRequest
0 голосов
/ 17 февраля 2012

Я извлекаю документ из SharePoint 2010 с помощью Client OM.Я могу получить документ, используя

var spFileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(<SPContext>, <documentPath>);

Это возвращает тип ConnectStream.Затем я передаю ConnectStream в FileStream следующим образом:

using (var fs = new FileStream(<documentName> + ".pdf", FileMode.OpenOrCreate))
  {
       spFileInfo.Stream.CopyTo(fs);
  }

Это записывает физический файл в локальную файловую систему, но я надеюсь избежать этого в будущем.Теперь у меня есть FileStream PDF-документа в моем коде.У меня также есть UserControl для отображения PDF на странице aspx.Из этого кода UserControl принимает путь к файлу следующим образом:

<userControlName>.FilePath = <url>;

Есть ли способ связать объект fs с путем к файлу для UserControl?

Пожалуйста, дайте мне знать, если вам нужно больше деталей, спасибо.

1 Ответ

2 голосов
/ 17 февраля 2012

Если вы хотите передать потоковый объект, вам нужно создать открытое свойство типа Stream в UserControl.

Определите свойство в UserControl,

public System.IO.Stream InputStream {get;set;}

и назначьте ссылку на объект потока изнутри кода хоста (.aspx или .ascx) UserControl.

UserControl1.InputStream=stream;
...