下载文件而不取得所有权

时间:2015-05-20 07:07:02

标签: c# sharepoint sharepointdocumentlibrary

我在文档库中有一些从未签入的文件。我通过文档库设置页面或使用SPDocumentLibrary.CheckedOutFiles

的c#中提供了该文件列表

有没有办法可以在不通过C#获取所有权的情况下下载这些文件。

1 个答案:

答案 0 :(得分:0)

如果从SharePoint下载文件,则不会获得所有权。如果您使用的是SharePoint CSOM API,则代码如下所示:

using (var clientContext = new ClientContext(url))
        {
            clientContext.Credentials = creds;

            var list = clientContext.Web.Lists.GetByTitle(listTitle);
            var listItem = list.GetItemById(listItemId);
            clientContext.Load(list);
            clientContext.Load(listItem, i => i.File);
            clientContext.ExecuteQuery();

            var fileRef = listItem.File.ServerRelativeUrl;
            var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(clientContext, fileRef);
            var fileName = Path.Combine(filePath,(string)listItem.File.Name);
            using (var fileStream = System.IO.File.Create(fileName))
            {

                fileInfo.Stream.CopyTo(fileStream);
            }
        }