【发布时间】:2011-02-27 12:40:39
【问题描述】:
我有一个 SharePoint 列表,我正在使用客户端对象模型向其中添加新的 ListItem。 添加 ListItems 不是问题并且效果很好。
现在我想添加附件。
我以下列方式使用 SaveBinaryDirect:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
只要我尝试添加附件的项目已经有一个通过 SharePoint 网站添加的附件并且不使用客户端对象模型,它就可以正常工作。
当我尝试向尚无任何附件的项目添加附件时,我收到以下错误(这两种错误都发生但不是针对相同的文件 - 但这两条消息始终显示):
远程服务器返回错误:(409) Conflict
远程服务器返回错误:(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();
我收到一条错误消息:
无法创建文件夹“Lists/Ticket System/Attachment/33”
我拥有 SharePoint 网站/列表的完全管理员权限。
有什么想法我可能做错了吗?
谢谢,托尔本
【问题讨论】:
标签: c# sharepoint-2010 client attachment listitem