sharepoint 客户端对象模型怎么获取文档库 指定文件夹内的文件
sharepoint 客户端对象模型如何获取文档库 指定文件夹内的文件
比如:
测试文档库内有一个文件夹<文件夹1>,<文件夹1>文件夹内有2个文件,
如何用documentsList.GetItems(camlQuery)获取文件夹内的文件?
搞了2天,只能取根目录,郁闷,求救。
如下方法只能获取根目录的文件文件夹。
ClientContext clientContext = new ClientContext("。。。。。。。");
List list = clientContext.Web.Lists.GetByTitle("测试文档库");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"<Query /><ViewFields /><QueryOptions><IncludeMandatoryColumns>False</IncludeMandatoryColumns><Folder>测试文档库/文件夹1</Folder></QueryOptions>";
ListItemCollection listItems = list.GetItems(camlQuery);
list.GetItemById(8);
clientContext.Load(
listItems,
items => items
.Include(
item => item["FileLeafRef"]
));
clientContext.ExecuteQuery();
foreach (ListItem listItem in listItems)
{
listBox3.Items.Add(listItem["FileLeafRef"]);
}
------解决方案--------------------
ListItemCollection listItems = list.GetItems(camlQuery);
里面 没有内容吗?
1 换掉
camlQuery.ViewXml =
@"<Query /><ViewFields /><QueryOptions><IncludeMandatoryColumns>False</IncludeMandatoryColumns><Folder>测试文档库/文件夹1</Folder></QueryOptions>";
ListItemCollection listItems = list.GetItems(camlQuery);
直接用c# 代码读取文件夹及内容-------------这个会吧。--如果不知道代码 回复我 我给你复制代码。
-----------------------
2 也可以考虑用 EventHandler。
------解决方案--------------------
http://topic.csdn.net/u/20120409/11/f72cdef2-44e3-46ca-af3c-aed0b50de883.html
------解决方案--------------------
foxdave 也来了,好久不见 常来哦
代码供参考
///<summary>
///遍文件夹下的所有子文件夹下的文件
///</summary>
///<param name="ObjDirPath">文件夹</param>
public void GetFiles(string ObjDirPath)
{
DirectoryInfo SourceDir = new DirectoryInfo(ObjDirPath);
foreach (FileSystemInfo FSI in SourceDir.GetFileSystemInfos())
{
if (FSI is DirectoryInfo)
{
//如果是文件夹则递归
GetFiles(FSI.FullName);
{
else
{
//如果是符合要求的文件则垒加集合,因为我只要求显示图片文件,在checkFileType方法里定义要显示文件的扩展名
if (checkFileType(FSI.Extension))
{
//由于是物理路径,如e:\luobing_web\uploadfiles\picture\test.jpg这种形式,需要提取虚拟路径,如:../uploadfiles/picture/test.jpg
string FilePath = ""; //一步写来看起混乱,就分开写了
FilePath = FSI.FullName.ToLower();
FilePath = FilePath.Substring(FilePath.LastIndexOf("uploadfiles\\"));
FilePath = "../"+FilePath.Replace("\\", "/");//这里在路径前加了../,因为我的项目里页面文件和上传文件夹不是同级文件夹
File_List += FilePath + ",";
}
}
}
}
比如:
测试文档库内有一个文件夹<文件夹1>,<文件夹1>文件夹内有2个文件,
如何用documentsList.GetItems(camlQuery)获取文件夹内的文件?
搞了2天,只能取根目录,郁闷,求救。
如下方法只能获取根目录的文件文件夹。
ClientContext clientContext = new ClientContext("。。。。。。。");
List list = clientContext.Web.Lists.GetByTitle("测试文档库");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"<Query /><ViewFields /><QueryOptions><IncludeMandatoryColumns>False</IncludeMandatoryColumns><Folder>测试文档库/文件夹1</Folder></QueryOptions>";
ListItemCollection listItems = list.GetItems(camlQuery);
list.GetItemById(8);
clientContext.Load(
listItems,
items => items
.Include(
item => item["FileLeafRef"]
));
clientContext.ExecuteQuery();
foreach (ListItem listItem in listItems)
{
listBox3.Items.Add(listItem["FileLeafRef"]);
}
------解决方案--------------------
ListItemCollection listItems = list.GetItems(camlQuery);
里面 没有内容吗?
1 换掉
camlQuery.ViewXml =
@"<Query /><ViewFields /><QueryOptions><IncludeMandatoryColumns>False</IncludeMandatoryColumns><Folder>测试文档库/文件夹1</Folder></QueryOptions>";
ListItemCollection listItems = list.GetItems(camlQuery);
直接用c# 代码读取文件夹及内容-------------这个会吧。--如果不知道代码 回复我 我给你复制代码。
-----------------------
2 也可以考虑用 EventHandler。
------解决方案--------------------
http://topic.csdn.net/u/20120409/11/f72cdef2-44e3-46ca-af3c-aed0b50de883.html
------解决方案--------------------
foxdave 也来了,好久不见 常来哦
代码供参考
///<summary>
///遍文件夹下的所有子文件夹下的文件
///</summary>
///<param name="ObjDirPath">文件夹</param>
public void GetFiles(string ObjDirPath)
{
DirectoryInfo SourceDir = new DirectoryInfo(ObjDirPath);
foreach (FileSystemInfo FSI in SourceDir.GetFileSystemInfos())
{
if (FSI is DirectoryInfo)
{
//如果是文件夹则递归
GetFiles(FSI.FullName);
{
else
{
//如果是符合要求的文件则垒加集合,因为我只要求显示图片文件,在checkFileType方法里定义要显示文件的扩展名
if (checkFileType(FSI.Extension))
{
//由于是物理路径,如e:\luobing_web\uploadfiles\picture\test.jpg这种形式,需要提取虚拟路径,如:../uploadfiles/picture/test.jpg
string FilePath = ""; //一步写来看起混乱,就分开写了
FilePath = FSI.FullName.ToLower();
FilePath = FilePath.Substring(FilePath.LastIndexOf("uploadfiles\\"));
FilePath = "../"+FilePath.Replace("\\", "/");//这里在路径前加了../,因为我的项目里页面文件和上传文件夹不是同级文件夹
File_List += FilePath + ",";
}
}
}
}