OpenBinaryDirect()运行时执行:写入开始后无法设置此属性

时间:2017-10-17 04:56:54

标签: c# .net sharepoint sharepoint-2010 sharepoint-2013

我正在尝试使用C#从sharepoint文档库下载文档。

现在获取异常"写入开始后无法设置此属性" on openBinaryDirect()方法。

"未处理的类型' System.InvalidOperationException'发生在System.dll

附加信息:写入开始后无法设置此属性。"

请帮我解决此问题。还有其他方法可以从sharepoint(csom)下载文档。

ClientContext ctx;
ctx = new ClientContext("url");


string pass = "pass";
SecureString secureString = new SecureString();

foreach (char c in pass.ToCharArray())
{
    secureString.AppendChar(c);
}
ctx.Credentials = new SharePointOnlineCredentials(".onmicrosoft.com",secureString);

FileCollection files = ctx.Web.GetFolderByServerRelativeUrl("Salary document Demo").Files;

ctx.Load(files);
ctx.ExecuteQuery();

foreach (Microsoft.SharePoint.Client.File file in files)
{

    FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, file.ServerRelativeUrl);

    ctx.ExecuteQuery();

    var filePath = @"c:\downloads" + file.Name;
    using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
    {
        fileInfo.Stream.CopyTo(fileStream);
    }
} 

1 个答案:

答案 0 :(得分:1)

通过安装新的Nuget包解决了这个问题:

Microsoft.Sharepoint.2013.Client.16

https://www.nuget.org/packages/Microsoft.Sharepoint.2013.Client.16/