2012-02-17 26 views
0

クライアントOMを使用してSharePoint 2010からドキュメントを取得しています。aspxページからFileStreamを読み取る

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

これを使用してドキュメントを取得できます。これはConnectStream型を返します。

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

これは、ローカルファイルシステムへの物理的なファイルを書き込むんが、私は将来的にはこれを避けるために望んでいる:私はそのように似たFileStreamにConnectStreamを転送しています。今私はコードビハインドでPDFドキュメントのFileStreamを持っています。私はaspxページにPDFを表示するUserControlも持っています。ユーザーコントロールのファイルパスにfsのオブジェクトをリンクする方法は

<userControlName>.FilePath = <url>; 

あります:分離コードからユーザーコントロールは、そのようなファイルパスを受け入れますか?

詳細が必要な場合はお知らせください。ありがとうございます。

+0

私は(または誰か)あなたがやろうとしていることについてより多くのコンテキストを得ることができるように、もう少し詳しく(コード)を提供してください。ファイルストリームはFileオブジェクトと同じではありませんので、より多くのコードを参照する必要があります。 – kingdango

答えて

2

ストリームオブジェクトを渡す場合は、StreamのpublicプロパティをUserControlに作成する必要があります。

は、UserControlでプロパティを定義

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

とホスト(.aspxのあるいはする.ascx)ユーザーコントロールののコードビハインド内からストリーム・オブジェクトの参照を割り当てます。

UserControl1.InputStream=stream; 
関連する問題