2010-11-03 46 views
0

我有一个要求,我必须递归地获取所有文件(即遍历文件夹和子文件夹)并通过SP对象模型显示给用户。SharePoint - 从网上获取所有文件

如果用户没有足够的权限查看或打开文件,则必须对其进行安全修整,否则不应考虑该文件。是否可以获取所有文件,而无需循环遍历每个文档库,文件夹和子文件夹?

此外,我不希望像Web部件库,母版画廊等默认文档库列出。有关如何实现这一目标的任何见解?

回答

0

内容查询Web部件可以为您提供大部分途径。开箱即用,您可以将其设置为显示网站集中的所有文件(基于内容类型或内容类型类别)。你甚至可以过滤删除系统文件,虽然这可能有点棘手,让过滤器正确。

如果这样做还不够,那么您可以编写一个扩展Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart类的Web部件。您可以覆盖过滤器(通过设置FilterField1FilterType1,FilterOperator1,FilterValue1等)。

安全调整应该由ContentQueryWebPart的默认行为发生。 Web部件和主页面画廊将根据您的内容类型设置过滤掉,因此您不必担心这些。