我是sharepoint的新手。我试图上传文件并将元数据添加到文件中。以下是我的代码。在声明ClientContext
例外: clientContext.ServerVersion引发类型 PropertyOrFieldNotInitializedException的异常
Site,Web也是如此。
using (ClientContext clientContext = new ClientContext(SPURL))
{
//ClientContext clientContext = new ClientContext(SPURL);
clientContext.Credentials = new System.Net.NetworkCredential(userName, password, domain);
Web web = clientContext.Web;
FileCreationInformation newFile = new FileCreationInformation();
newFile.Content = System.IO.File.ReadAllBytes(PPTPath);
newFile.Url = "F:\\log.txt";
List docs = web.Lists.GetByTitle("Test");
Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);
clientContext.ExecuteQuery();
using (FileStream fileStream =
new FileStream(PPTPath, FileMode.Open))
ClientOM.File.SaveBinaryDirect(clientContext,
DocumentRepository + PPTfilename, fileStream, true);
}
答案 0 :(得分:0)
CSOM库希望您在调用ExecuteQuery()时告诉他们您要从SharePoint环境中查询的内容。
因此,您需要告诉clientcontext对象要加载的内容。
例如:
Web web = clientContext.Web;
后面应该跟clientContext.Load(web);
这是一个简单的例子。对于上传文件,您最好的选择是使用File.SaveBinaryDirect功能。可以找到有关如何使用它的示例elsewhere on stackoverflow。