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

时间:2009-08-20 06:03:19

标签: web-services sharepoint move document-library

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

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

<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 - 没有运气......

感谢任何提示......

4 个答案:

答案 0 :(得分:2)

所以最终我找到了一种通过使用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();

答案 1 :(得分:1)

我不认为这可以通过开箱即用的Web服务实现。您可以编写自己的Web服务并将其部署到sharepoint。

还有可能使用2个Web服务:copy Web服务和列表Web服务。首先复制一份,然后使用Lists服务删除原件。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

for div in name:
    innerDivs= div.find_all("div")
        for idiv in innerDivs:
            print(idiv.get_text(strip=True).encode("utf-8"))