我有一个要求,我必须递归地获取网络的所有文件(即遍历文件夹和子文件夹),并通过SP对象模型为用户显示它们。
在某种意义上,如果用户没有足够的权限来查看或打开文件,则必须进行安全修整,然后不应考虑该文件。是否可以在不循环遍历每个文档库,文件夹和子文件夹的情况下获取所有文件?
另外,我不希望列出Web部件库,母版页库等默认文档库。有关如何实现这一目标的任何见解?
答案 0 :(得分:0)
内容查询Web部件可以帮助您完成大部分工作。开箱即用,您可以将其设置为显示网站集中的所有文件(基于内容类型或内容类型类别)。您甚至可以过滤删除系统文件,尽管这可能有点难以使过滤器正确。
如果这不能让您足够远,那么您可以编写一个扩展Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart
类的Web部件。您可以覆盖过滤器(通过设置FilterField1
,FilterType1
,FilterOperator1
,FilterValue1
等等。
安全修整应该由ContentQueryWebPart的默认行为发生。 Web部件和母版页库将根据您的内容类型设置进行过滤,因此您不必担心这些。