我有一个SharePoint列表,我正在使用客户端对象模型添加新的ListItems.添加ListItems不是问题,效果很好.
现在我想添加附件.
我以下列方式使用SaveBinaryDirect:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
Run Code Online (Sandbox Code Playgroud)
只要我尝试添加附件的项目已经具有通过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();
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
Cannot create folder "Lists/Ticket System/Attachment/33"
我拥有SharePoint站点/列表的完全管理员权限.
我有什么想法可能做错了吗?
谢谢,Thorben