Sharepoint 2010 - 对象模型 - 以编程方式下载DocumentSet

时间:2012-03-09 13:17:20

标签: sharepoint sharepoint-2010 sharepoint-object-model

我如何使用sharepoint对象模型以编程方式下载documentSet的代码片段确实会有所帮助。

我想做的是 - 给定sharepoint站点,使用用户默认凭据登录 - 查找托管文件的文档库 - 将文件向下拉到本地计算机

到目前为止我做了什么,

using Microsoft.SharePoint.Client;

ClientContext cc = new ClientContext(ConfigurationManager.AppSettings["site"]);
            cc.Credentials = new NetworkCredential(username, pwd, domain);
            Web site = cc.Web;
            ListCollection collList = site.Lists;

            var oList = collList.GetByTitle("Document Set test");

            // Get the document set
            cc.Load(oList);
            cc.ExecuteQuery();

            // Get All views
            var views = oList.Views;
            cc.Load(views);
            cc.ExecuteQuery();

            // Get All documents
            CamlQuery camlQuery = new CamlQuery();
            camlQuery.ViewXml = @"<Query>
                                   <ViewFields>
                                        <FieldRef Name='Title'/>
                                        <FieldRef Name='Display Name'/>
                                   </ViewFields>
                                   <Where>
                                      <Gt>
                                         <FieldRef Name='Created' />
                                         <Value IncludeTimeValue='TRUE' Type='DateTime'>1900-05-08T14:25:50Z</Value>
                                      </Gt>
                                   </Where>   
                                   <OrderBy>
                                         <FieldRef Name='Title' Ascending='True' />
                                   </OrderBy>                                    
                                </Query>";

            var docs = oList.GetItems(camlQuery);
            cc.Load(docs);
            cc.ExecuteQuery();

            Console.WriteLine(string.Format("{0} Models in the repository", docs.Count));

foreach(文档中的var doc)                 {

//下载文档集中的文档 - 但是如何?

                Console.WriteLine(string.Format("{0} => {1} ", Environment.NewLine, doc["Title"]));
            }
            Console.WriteLine(Environment.NewLine);

1 个答案:

答案 0 :(得分:0)

您会对Microsoft.SharePoint.Client.File.OpenBinaryDirect方法感兴趣。它返回FileInformation,通过Stream属性访问内容。您可以查看other thread herean MSDN pagea Codeproject article中的代码示例。

是的,Stackoverflow上也有SharePoint开发人员: - )

---费达