我有一個SharePoint列表,我使用客戶端對象模型添加了新的ListItems。 添加ListItems不是問題,效果很好。SharePoint 2010 - 客戶端對象模型 - 將附件添加到ListItem
現在我想添加附件。
我以下列方式使用SaveBinaryDirect:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
只要它工作沒有任何問題,因爲我想要添加附件的項目,已經有已添加的附件通過SharePoint網站而不使用客戶端對象模型。
當我嘗試添加附件的項目,這並不具有任何附件,但是,我得到以下錯誤(均發生,但沒有使用相同的文件 - 而這兩個消息持續出現):
The remote server returned an error: (409) Conflict
The remote server returned an error: (404) Not Found
我想,也許我需要爲這個項目首先創建附件文件夾。 當我嘗試下面的代碼:
clientCtx.Load(ticketList.RootFolder.Folders);
clientCtx.ExecuteQuery();
clientCtx.Load(ticketList.RootFolder.Folders[1]); // 1 -> Attachment folder
clientCtx.Load(ticketList.RootFolder.Folders[1].Folders);
clientCtx.ExecuteQuery();
Folder folder = ticketList.RootFolder.Folders[1].Folders.Add("33");
clientCtx.ExecuteQuery();
我收到一條錯誤消息說:
Cannot create folder "Lists/Ticket System/Attachment/33"
我對SharePoint網站/列表完全的管理員權限。
任何想法我可能做錯了什麼?
感謝,Thorben
感謝您的回答,MaxBeard。至少知道這是不可能的,比嘗試和失敗要好 - 似乎應該是可能的。順便說一句,好的博客。 – Thorben 2010-06-18 15:48:19
這似乎確實如此...請參閱我的答案,瞭解如何完成此操作的完整代碼示例。 – 2013-03-06 13:44:29