2012-02-17 98 views
0

我使用客户端OM从SharePoint 2010中检索文档。我可以使用从aspx页面读取FileStream

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); 
    } 

这不写一个物理文件到本地文件系统,但我希望避免这种情况在未来。现在我的代码隐藏了一个PDF文档的FileStream。我也有一个UserControl在aspx页面显示PDF。从代码隐藏的用户控件接受像这样的文件路径:

<userControlName>.FilePath = <url>; 

有没有办法给FS对象链接到该用户控件的文件路径?

请让我知道是否需要更多的细节,谢谢。

+0

很高兴提供帮助,但请提供一些更多详细信息(和代码),以便我(或任何人)可以获得有关您要做什么的更多上下文。文件流与File对象不同,因此需要查看更多代码来帮助您。 – kingdango 2012-02-17 13:33:35

回答

2

如果你想传递流对象,那么你必须在UserControl中创建一个Stream类型的公共属性。

定义属性在UserControl

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

和从主机的代码隐藏内分配一个目标流的引用(或的.aspx的.ascx)用户控件的。

UserControl1.InputStream=stream;