SharePoint 2010 - Modelo de objetos de cliente - Agregar datos adjuntos a ListItem
Tengo una lista de SharePoint a la que estoy agregando nuevos ListItems usando el Modelo de objetos del cliente. Agregar ListItems no es un problema y funciona muy bien.
Ahora quiero agregar archivos adjuntos.
Estoy usando SaveBinaryDirect de la siguiente manera:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
Funciona sin ningún problema siempre que el elemento al que estoy tratando de agregar el archivo adjunto ya tenga un archivo adjunto que se agregó a través del sitio de SharePoint y no utiliza el Modelo de objetos del cliente.
Cuando intento agregar un archivo adjunto a un elemento que todavía no tiene ningún archivo adjunto, aparece el siguiente error (ambos ocurren pero no con los mismos archivos, pero esos dos mensajes aparecen de manera consistente):
The remote server returned an error: (409) Conflict
The remote server returned an error: (404) Not Found
Pensé que tal vez necesito crear primero la carpeta de archivos adjuntos para este elemento. Cuando intento el siguiente código:
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();
Recibo un mensaje de error que dice:
Cannot create folder "Lists/Ticket System/Attachment/33"
Tengo derechos de administrador completos para el sitio / lista de SharePoint.
¿Alguna idea de lo que podría estar haciendo mal?
Gracias Thorben