3

我拼命地试图将文档库中的文档从一个文件夹移动到另一个文件夹(是的,在同一个库中)。所有这些都需要通过 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 - 没有运气......

感谢您的任何提示...

4

4 回答 4

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();
于 2009-08-28T12:44:03.263 回答
1

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

还有一种可能是使用 2 个 Web 服务:复制Web 服务和列表 Web 服务。首先做一个副本,然后使用列表服务删除原件。

于 2009-08-20T07:35:49.453 回答
1

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

如果这是一个表演停止者,您可能想看看CopyMove for SharePoint。它还附带一个 Web 服务,允许您在不丢失任何元数据的情况下复制或移动文档、项目和文件夹。

于 2009-08-20T08:50:07.103 回答
0
Move documents and Folder
<Batch OnError='Continue' RootFolder='/Shared Documents/'>
   <Method ID='1' Cmd='Move'>
      <Field Name='ID'>1</Field>
      <Field Name='FileRef'>/Shared Documents/MyFile.txt</Field>
      <Field Name='MoveNewUrl'>/Shared Documents/MyFolder/MyFile.txt</Field>
   </Method>
</Batch>
于 2021-01-29T06:29:38.150 回答