簡體   English   中英

如何使用 Web 服務將文檔移動到 SharePoint 庫中的不同文件夾

[英]How to move document to different folder in SharePoint library with web services

我拼命地試圖將文檔庫中的文檔從一個文件夾移動到另一個文件夾(是的,在同一個庫中)。 所有這些都需要通過 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 - 沒有運氣...

感謝您的任何提示...

所以最終我找到了一種使用 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();

我不認為這是可能的開箱即用的網絡服務。 您可以編寫自己的 Web 服務並將其部署到 sharepoint。

還有一種可能是使用 2 個 Web 服務:復制Web 服務和列表 Web 服務。 先做一份拷貝,然后用Lists服務刪除原來的。

是的,按照 Colin 的建議使用 Copy Web Service。 這是使用 OOB Web 服務的唯一方法。 但請注意,您將丟失所有作者和日期信息以及任何版本歷史記錄。 Copy WS 不保留此信息。

如果這是一個表演障礙,您可能需要查看CopyMove for SharePoint 它還附帶一個 Web 服務,允許您復制或移動文檔、項目和文件夾而不會丟失任何元數據。

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM