2010-12-06 15 views
7

Estoy utilizando el modelo de objetos cliente SP2010 para cargar una biblioteca de documentos, siguiendo el ejemplo de Microsoft aquí: http://msdn.microsoft.com/en-us/library/ee956524.aspx#SP2010ClientOMOpenXml_UploadingSharepoint 2010 Cliente del Object Model - Cargar documento (409 Conflicto)

Estoy frente a un HTTP 409 (Conflicto) código de estado cuando se ejecuta el siguiente código.

var clientContext = new ClientContext("http://myservername/sites/subsitename") { Credentials = LogonCredentials }; 
using (var fileStream = new FileStream(@"C:\Temp\Test.txt", FileMode.Open)) 
{ 
     Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, "/MyDocLibraryName/Test_FromClientOM.txt", fileStream, true); 
} 

¿Qué estoy haciendo mal?

Respuesta

8

El problema aquí es que el sitio que estoy cargando es un subsitio, no la raíz de sharepoint. No sé si esta fue una opción de "diseño" o no, pero parece que debe usar la raíz de sharepoint para ClientContext, al menos en este caso particular.

código de trabajo:

var clientContext = new ClientContext("http://myservername") { Credentials = LogonCredentials }; 
using (var fileStream = new FileStream(@"C:\Temp\Test.txt", FileMode.Open)) 
{ 
     Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, "/sites/subsitename/MyDocLibraryName/Test_FromClientOM.txt", fileStream, true); 
} 
5

también se enfrentaba a un error 409 al intentar cargar un archivo a través del modelo de objetos de cliente de SharePoint 2010. Asegúrese completamente de que exista la ruta por la que está cargando el archivo completamente. La llamada no creará ninguna (sub) carpetas. No importa si está conectando su ClientContext al subweb raíz o directamente al subsitio como dice. Solo asegúrate de estar alimentando siempre el método SaveBinaryDirect con la URL relativa de SPSite del lugar para cargar.

Por ejemplo, si está conectando su ClientContext al http://somesite/sites/subsitename, asegúrese de estar pasando a SaveBinaryDirect también la cadena /sites/subsitename/documents/filename.txt, por lo que en relación con el SPSite y no con el subsitio que está conectando a usar su ClientContext.

Cuestiones relacionadas