SP2010使用客户端对象模型从照片库中获取相册和图像

时间:2011-02-04 13:31:26

标签: sharepoint-2010

我有一个照片库库。我想获得所有专辑和他们的图像。 现在我得到所有相册(根级别项目),如下所示:

ClientContext ctx = new ClientContext(_url);
_mylib = web.Lists.GetByTitle("mylib");
_albums = _list.GetItems(new CamlQuery());

_albums代表相册,位于图库的根目录。如何获取每个相册中的文件/项目?

mylib
-album1
--image1.jpg
--image2.jpg
-album2
--image1.jpg
...

1 个答案:

答案 0 :(得分:1)

这是不久前的,但我想我会进入这里,添加“RecursiveAll”来完成所有事情,并且FSObjType不包括列表中的文件夹。

.Include语句允许您初始化要从列表中访问的属性。 (关于你可以访问哪些属性的答案就在这里,但我无法找到我生命中的帖子......)

ListItemCollection listItems = null;    
List documentsList = ctx.Web.Lists.GetByTitle("mylib");

CamlQuery camlQuery = new CamlQuery();

camlQuery.ViewXml = @"<View Scope='RecursiveAll'>
        <Query>
            <Where>                               
                <Eq>
                    <FieldRef Name='FSObjType' />
                        <Value Type='int'>1</Value>
                </Eq>
            </Where>
        </Query>
    </View>";

listItems = documentsList.GetItems(camlQuery);
ctx.Load(
                 listItems,
                 items => items
                     .Include(
                        item => item["ID"]
                 ));

ctx.ExecuteQuery();