Sharepoint错误:OpenBinaryStream抛出错误

时间:2014-08-06 11:40:44

标签: c# sharepoint

我尝试使用C#从SharePoint中的文件中获取流。这是代码

ClientContext ctx = new ClientContext("http://mySharepointSite");
ctx.Credentials = new NetworkCredential("domain\\user", "mypwd");
Folder docx = ctx.Web.GetFolderByServerRelativeUrl(saveLocation);
ctx.Load(docx);
ctx.ExecuteQuery();
Microsoft.SharePoint.Client.File fileConcerned=ctx.Web.GetFileByServerRelativeUrl(docx.ServerRelativeUrl + "/" +nameFile + ".docx");

MemoryStream stream = new MemoryStream());
ctx.Load(fileConcerned);
ClientResult<Stream> str = fileConcerned.OpenBinaryStream();
ctx.ExecuteQuery();

程序在ExecuteQuery()返回错误,并告诉我没有OpenBinaryStream()方法。我试图交换这两行,但在我的streamstr为空之后。这是为什么?

1 个答案:

答案 0 :(得分:1)

我终于明白了。  为了使OpenBinaryStream()有效,我需要处理以前的连接。

换句话说,我认为这段代码有效:    [...]

ctx.ExecuteQuery();
MemoryStream stream = new MemoryStream());
ctx.Load(fileConcerned);
ctx.Dispose();
ClientResult<Stream> str = fileConcerned.OpenBinaryStream();
ctx.ExecuteQuery();`