Fil*_*lip 2 c# sharepoint csom
我需要从Sharepoint网站获取所有文件.我从获取所有文档库开始:
private IEnumerable<List> GetAllDocumentLibraries(ClientContext context)
{
var lists = context.LoadQuery(context.Web.Lists.Where(list => list.BaseType == BaseType.DocumentLibrary));
context.ExecuteQuery();
return lists;
}
Run Code Online (Sandbox Code Playgroud)
然后从每个项目中获取所有项目..
var items = list.GetItems(CamlQuery.CreateAllItemsQuery());
_context.Load(items, i => i.Include(it => it.DisplayName, it => it.File));
_context.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
问题是有很多系统库返回文件,如"controls","edit-mode-21"等.我不想按特定名称过滤掉它们,因为在其他SP站点上可能还有其他名称.
List
如果它是用户创建的列表(意思是我需要的文档)或者只是一个sys,我怎么能从它及其属性中知道.图书馆?
谢谢
您可以尝试一些条件.您需要检查并选择适合您情况的组合:
Hidden == false
-应排除大部分的SharePoint内部(的Master Page Gallery
,Solution Gallery
和其他人).IsSiteAssetsLibrary == false
- 这将排除Site Assets
和Site Collection Images
.但也可以排除用户创建的其他图像库.IsCatalog == false
- 大多数目录也是隐藏的,除了Style Library
.BaseTemplate == 101
- 这是DocumentLibrary的模板.这将排除目录,图像库,页面库以及其他一些内容. 归档时间: |
|
查看次数: |
2620 次 |
最近记录: |