SharePoint错误:OpenBinaryStream抛出错误。

3

我正在尝试使用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个回答

4

我终于搞清楚了。为了让OpenBinaryStream()工作,我需要释放先前的连接。

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

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

8
不需要使用"ctx.Dispose();"语句。在ClientResult<Stream>的结尾只需要执行'ctx.ExecuteQuery();'即可。 - nbi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接