C# 4.0 上载/覆盖SharePoint文档,而不会从代码中丢失列表项元数据
我已将一个文档从代码和两个列表项属性上载到SharePoint。我可以看到文档已成功上载,其中包含项目列值 在下一步中,我尝试上载同一个文档,但不包含列表项属性,这是通过代码将其标记为覆盖现有文件。文件已成功上载和覆盖,但它已丢失第一步中提供的列表项列值 我的目标是在不干扰现有列表项元数据的情况下覆盖该文件。这当然是可能的,因为SharePoint UI可以在不干扰现有元数据的情况下上载/覆盖文档C# 4.0 上载/覆盖SharePoint文档,而不会从代码中丢失列表项元数据,c#-4.0,sharepoint,sharepoint-2010,sharepoint-2013,C# 4.0,Sharepoint,Sharepoint 2010,Sharepoint 2013,我已将一个文档从代码和两个列表项属性上载到SharePoint。我可以看到文档已成功上载,其中包含项目列值 在下一步中,我尝试上载同一个文档,但不包含列表项属性,这是通过代码将其标记为覆盖现有文件。文件已成功上载和覆盖,但它已丢失第一步中提供的列表项列值 我的目标是在不干扰现有列表项元数据的情况下覆盖该文件。这当然是可能的,因为SharePoint UI可以在不干扰现有元数据的情况下上载/覆盖文档 有人能告诉我SharePoint是如何做到这一点的吗?干杯我就是这样做到的。我想这可能是唯一的办法
有人能告诉我SharePoint是如何做到这一点的吗?干杯我就是这样做到的。我想这可能是唯一的办法
using (SPSite site = new SPSite(url))
{
using (var web = site.OpenWeb())
{
var lib = web.Lists["Documents"] as SPDocumentLibrary;
var file = web.GetFile(string.Format("{0}/Shared Documents/{1}", web.Url, fileName));
if (file.Exists)
file = lib.RootFolder.Files.Add(fileName, newContent, file.Properties, true);
else
file = lib.RootFolder.Files.Add(fileName, newContent, true);
}
}
在添加文件时,必须提供
file.Properties
成员,该成员在哈希表中具有所有文档属性。如果需要,请不要忘记提供True
标志以覆盖文档并签出。您现在如何上载文档?som、com、rest?也许您可以通过SP对象模型共享一些代码