代码之家  ›  专栏  ›  技术社区  ›  Rashack

如何使用Web服务将文档移动到SharePoint库中的其他文件夹

  •  3
  • Rashack  · 技术社区  · 15 年前

    我拼命地试图将文档库中的文档从一个文件夹移到另一个文件夹(是的,在同一个库中)。所有这些都需要通过Web服务完成。

    我正在对批处理XML使用updateListitems方法,如下所示:

    <Batch>
     <Method ID="1" Cmd="Update">
        <Field Name="ID">14</Field>
        <Field Name="ServerUrl">personal/blabla/Documents/CT-5/image.jpg</Field>
     </Method>
    </Batch>
    

    我尝试更新不同的字段,而不是上面的serverURL-没有运气…

    谢谢你的提示…

    3 回复  |  直到 15 年前
        1
  •  1
  •   Colin    15 年前

    我认为这是不可能的开箱即用的Web服务。不过,您可以编写自己的Web服务并将其部署到SharePoint。

    还有一种可能性是使用2个Web服务:即 copy Web服务和列表Web服务。首先复制,然后使用列表服务删除原始文件。

        2
  •  1
  •   Lars Fastrup    15 年前

    是的,按照科林的建议使用copy web服务。这是OOB Web服务的唯一方法。但请注意,您将丢失所有作者和日期信息以及任何版本历史记录。副本WS不保留此信息。

    如果这是个表演障碍,你可能想看看 CopyMove for SharePoint . 它还附带一个Web服务,允许您复制或移动文档、项目和文件夹,而不会丢失任何元数据。

        3
  •  1
  •   Rashack    15 年前

    所以最终我找到了一种方法,通过使用WebDAV来解决这个问题。很抱歉,这个问题被错误地提出了-我真的不需要Web服务,而需要从远程ASP.NET网站上使用的任何服务。下面是移动文件的(简单)代码:

    WebRequest lRequest = WebRequest.Create(sourceUrl);
    lRequest.Credentials = CredentialCache.DefaultCredentials;
    lRequest.Method = "MOVE";
    
    lRequest.Headers.Add("Destination", targetUrl);
    var lResponse = lRequest.GetResponse();