这是我的场景:我需要使用其 Web 服务将文件复制到共享点文档库并在其上设置元数据。除了 Lookup 字段之外,这一切都可以通过 CopyIntoItems(来自 Copy webservice)实现。CopyIntoItems 会忽略它们,因此我需要另一种方法来设置这些字段的数据。

我尝试使用必填字段和查找字段元数据创建一个列表项,然后使用项目 ID(使用 ID 创建 FieldInformation 字段以及其他一些简单元数据),调用 CopyIntoItems 方法,而不是更新该项目,sharepoint 创建了一个新项目。

我无法以相反的顺序执行此操作,因为我无法从 CopyIntoItems 创建的项目中获取 ID...

所以,问题是:如何将文件上传到共享点文档库并设置其所有元数据?包括查找字段。

有帮助吗?

解决方案

  1. 使用常规 PUT WebRequest 到 到 上传文件 进图书馆
  2. 查询文档库找到刚刚上传的项目的ID(根据路径)
  3. 使用 Lists.asmx Web 服务 更新文档元数据

有用的链接: 将文件上传到 SharePoint 文档库并更新任何元数据列

其他提示

请记住,如果目标文件夹项目计数 + 祖先文件夹项目计数超过列表视图阈值,则您无法查询列表中的 ID(Kit 答案中的步骤 2)。

如果将查询限制在文件夹层次结构中的特定分支,则可以更有效地完成查询。解决方法是修改站点设置,但查询会很缓慢,并且会降低解决方案的可移植性,因为 Office365 和 BPOS 的阈值无法更改。

这更好地解释了这一点: http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/create-or-delete-a-folder-in-a-list-or-library-HA102771961.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top