从 SharePoint 读取文件时"Object reference not set to an instance of an object on server. The object is as



我从url sharepoint读取了文件,它返回错误:

对象引用未设置为服务器上对象的实例。这个对象与属性File 关联

我试着计算这个文件夹url中的文件数,这样它就可以计算为true,但当我打印文件名时,它在this.lblMessage.Text = listItems.First().File.Name.ToString();行出现错误

这是我的代码:

var targetSiteURL = new Uri("https://mycompany.sharepoint.com/sites/test");
ClientContext cxt = new ClientContext(targetSiteURL.GetLeftPart(UriPartial.Authority));
cxt.Credentials = new SharePointOnlineCredentials(login, securePassword);

var list = cxt.Web.GetList("/sites/test/Shared%20Documents");
var listItems = list.GetItems(new CamlQuery());
cxt.Load(listItems,
items => items.Include(
item => item.File));
cxt.ExecuteQuery();                    
this.lblMessage.Text = listItems.First().File.Name.ToString();

使用Caml Query只过滤库中作为项的文件。文件。名称用于文件而非文件夹:

var list = cxt.Web.GetList("/sites/test/Shared%20Documents");
Microsoft.SharePoint.Client.CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"<View Scope='RecursiveAll'>  
<Query> 
<Where><Eq><FieldRef Name='FSObjType' /><Value Type='Integer'>0</Value></Eq></Where> 
</Query> 
</View>";
var listItems = list.GetItems(camlQuery);
cxt.Load(listItems,items => items.Include(item => item.File));
cxt.ExecuteQuery();
Console.WriteLine(listItems.First().File.Name);

相关内容

最新更新