zoukankan      html  css  js  c++  java
  • 遍历SPWeb下的文件库文件夹和文件

                                遍历SPWeb下的文件库文件夹和文件

    背景:

          最近进在做一个MOSS Farm的管理报表,需要By Farm,By Site,By Web,By Libray,By Document

    去检索文件的生命周期。在开发的过程中Farm可以通过手动维护(数据不会超过10笔),site\web可以通过

    web表来获取,以及Libray可以通过siteid和webid来写C# Console程式在Web Webserver下周期执行来得到

    文件库的数据。

          最后,遇到一个问题,如何通过SP对象模型编程,来得到Document的数据。

    思路:

       1、  利用SPFold模型,Feach遍历SubFolders对象来查询子文件夹下的文档模型对象。

       2、 利用spfolder.Files来获取当前文件目录下的文档模型对象。

       3、 以上思路的求解,都必须基于由已知的文件库对象SPDocumentLibray,如何Coding来得到此文件库的SPFolder对象。

    之前问题的解决办法,

          假设我们已经知道该网站的siteid,webid信息,

    下面我们就来实现遍历构造此网站下所有文件库的SPFolder对象的方法。

    代码测试如下:

        

    namespace TestWeb
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    string br = System.Environment.NewLine;
    Guid siteid
    = new Guid("5E601555-DD68-4518-889B-95D162A2A348");
    Guid webid
    = new Guid("5A7EF298-C322-4C41-9360-FE68AC63B23B");
    SPSite site
    = null;
    SPWeb web
    = null;
    SPListCollection lists
    = null;
    SPFolder folder
    = null;
    SPFolderCollection folders
    = null;
    string s = "";
    try
    {
    site
    = new SPSite(siteid);
    web
    = site.OpenWeb(webid);
    lists
    = web.GetListsOfType(SPBaseType.DocumentLibrary);
    foreach (SPList list in lists)
    {
    try
    {
    folder
    = list.RootFolder; // web.GetFolder(list.DefaultViewUrl); // 失败:AllItems.aspx
    s += folder.Name + " ; " + list.Title + "<br/>";
    }
    catch (Exception xx)
    {
    s
    += xx.Message + " ; " + list.Title + "<br/>";
    }
    }
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    site
    = null;
    web
    = null;
    }

    Response.Write(s);
    }
    }
    }
    }

    测试结果

    剩下的事情,就是利用SPForder来遍历收集当前文件的信息

    和当前子文件夹下的文件信息。就不在详细说明了。

  • 相关阅读:
    DevOps Workshop 研发运维一体化(北京第二场) 2016.04.27
    DevOps Workshop 研发运维一体化(成都站) 2016.05.08
    TFS 2015 生成不输出任何结果
    挂起的更改中的“解析”是什么意思?原来是微软错误的翻译
    微软研发流程(ALM)管理培训会议(比亚迪汽车)
    TFS实战培训
    【实战TFS】【QQ群】了解别人是如何使用TFS的
    DevOps Workshop 研发运维一体化(广州站)
    制作Visual Studio 2017 (VS 2017) 离线安装包
    在每页(分页)报表中重复显示标题
  • 原文地址:https://www.cnblogs.com/itshare/p/2182927.html
Copyright © 2011-2022 走看看