SharePoint 2010 - объектная модель клиента - добавление вложения в ListItem

У меня есть список SharePoint, в который я добавляю новые ListItems с помощью клиентской объектной модели. Добавление ListItems не является проблемой и прекрасно работает.

Теперь я хочу добавить вложения.

Я использую 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.

Есть идеи, что я могу делать не так?

Спасибо, Торбен

Ответы на вопрос(0)

Ваш ответ на вопрос