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.

Какие-либо идеи, что я мог делать неправильно?

Спасибо, Thorben

14
задан Mike Chamberlain 18 June 2013 в 14:44
поделиться

1 ответ

Я обсуждал этот вопрос с Microsoft. Похоже, что единственным способом удаленного создания вложений является веб-служба List.asmx. Я также пытался создать эту подпапку, но безуспешно.

9
ответ дан 1 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: