使用c#从Sharepoint库检索文件
本文关键字:检索 文件 Sharepoint 使用 | 更新日期: 2023-09-27 17:50:26
我想从Sharepoint teamsite的库文件夹中检索文件。我知道文件的确切位置,但我不知道它的全名。
文件夹的完整URL是:http://ts/001/API/Asset%20Optimisation%20Interface/Forms/AllItems.aspx?RootFolder=%2F001%2FAPI%2FAsset%20Optimisation%20Interface%2FAsset%20Technical%20Data&FolderCTID=0x0120002C707B834A70044986A39A4BCBFE9C6D&View={889C2A16-626B-4FFC-97F7-142AA27522F3}
在这个文件夹中,有几个子文件夹,只有一个文件。该文件是一个excel文件,它的名字将以"我的文件名"开头。
我还没有找到如何查询文件而不使用递归的所有在我的CamlQuery。不幸的是,在子文件夹中会有类似的命名文件,我对此不感兴趣。
下面的代码: ClientContext clientContext = new ClientContext("http://ts/001/API/");
var list = clientContext.Web.Lists.GetByTitle("Asset Optimisation Interface");
CamlQuery qry = new CamlQuery();
qry.ViewXml = "<View Scope='Recursive'></View>";
var files = list.GetItems(qry);
clientContext.Load(files);
clientContext.ExecuteQuery();
foreach (var file in files)
{
Console.WriteLine(file["FileLeafRef"]);
}
关于CamlQuery的MSDN文档似乎相当轻!
一旦我找到了我感兴趣的文件,我想把它下载到本地驱动器。
任何帮助将不胜感激!
指出- 我无法控制文件夹结构或文件名
- Sharepoint 2013
- 。. Net Framework 4.0
- Microsoft.SharePoint.Client.dll 14.0.0.0
- Microsoft.SharePoint.Client.Runtime.dll 14.0.0.0
通过下面的链接和解释解决:无法使用客户端对象模型从SharePoint库检索文件信息
脸部片段: CamlQuery qry = new CamlQuery();
qry.ViewXml = "<View></View>";
qry.FolderServerRelativeUrl = "/001/API/Asset Optimisation Interface/Asset Technical Data/";
我没想到服务器相对URL不是相对于ClientContext