此代码的第二部分显示PropertyException
。第一部分按预期上传文件。在context.ExecuteQuery();
之后,我得到了:
'uploadedFile.CheckInComment'引发了类型异常 'Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException'
我不确定为什么上下文应该可以,因为它确实上传了文件。
我将尝试更新刚刚上传的文档中的一些元数据字段。
Folder currentRunFolder = site.GetFolderByServerRelativeUrl(barRootFolderRelativeUrl + "/");
FileCreationInformation newFile = new FileCreationInformation
{
Content = System.IO.File.ReadAllBytes(@p),
Url = Path.GetFileName(@p),
Overwrite = true
};
currentRunFolder.Files.Add(newFile);
currentRunFolder.Update();
context.ExecuteQuery();
newUrl = siteUrl + barRootFolderRelativeUrl + "/" + Path.GetFileName(@p);
// Set document properties
Microsoft.SharePoint.Client.File uploadedFile = context.Web.GetFileByServerRelativeUrl(newUrl);
ListItem listItem = uploadedFile.ListItemAllFields;
listItem["TestEQCode"] = "387074";
listItem.Update();
context.ExecuteQuery();
答案 0 :(得分:0)
您能尝试一下吗?
currentRunFolder.Files.Add(newFile);
//currentRunFolder.Update();
context.Load(newFile);
context.ExecuteQuery();
//newUrl = siteUrl + barRootFolderRelativeUrl + "/" + Path.GetFileName(@p);
// Set document properties
//Microsoft.SharePoint.Client.File uploadedFile = context.Web.GetFileByServerRelativeUrl(newUrl);
ListItem listItem = newFile.ListItemAllFields;
listItem["TestEQCode"] = "387074";
listItem.Update();
context.ExecuteQuery();
答案 1 :(得分:0)
好吧,即使ListItems为NULL,我也可以设置TestEQCode并进行更新,并且该字段在SharePoint端得到更新。整个过程中,我一直在关注ListItems是否获取实际的元数据列表,但实际上并不需要它。我只需要对这些项目进行硬编码,它将进行更新。 –