Sharepoint 2010 Client Object Model - Upload Document (409 Conflict)

19,626

Solution 1

The issue here was that the site I am uploading to is a subsite, not the root of sharepoint. I don't know if this was a "design" choice or not, but it seems you have to use the root of sharepoint for the ClientContext, at least in this particular case.

Working code:

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);
} 

Solution 2

I was also facing a 409 error while trying to upload a file via the SharePoint 2010 client object model. Make absolutely sure the path you are uploading the file to completely exists. The call will not create any (sub)folders. It does not matter if you're connecting your ClientContext to the root subweb or directly to the subsite as you say. Just make sure you're always feeding the SaveBinaryDirect method the SPSite relative URL of the place to upload to that exists.

For example if you're connecting your ClientContext to http://somesite/sites/subsitename, make sure you're passing to SaveBinaryDirect also the string /sites/subsitename/documents/filename.txt, so relative to the SPSite and not the subsite you're connecting to using your ClientContext.

Solution 3

Soledad Pano has a blog-entry Sharepoint Upload File Error: ‘The remote server returned an error: (409) Conflict’, which helped me:

I figured out that the problem was the library name. It contained a dash on it, like “My-LibraryName”. When I renamed it without the dash it started working

Share:
19,626
Jeremy
Author by

Jeremy

Updated on July 24, 2022

Comments

  • Jeremy
    Jeremy almost 2 years

    I am using the SP2010 Client Object Model to upload to a document library, following the lead from Microsoft here: http://msdn.microsoft.com/en-us/library/ee956524.aspx#SP2010ClientOMOpenXml_Uploading

    I am facing an HTTP 409 (Conflict) status code when executing the following code.

    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);
    } 
    

    What am I doing wrong?

  • Amit Tyagi
    Amit Tyagi over 7 years
    Thanks a lot. This was the exact issue in my case too. Definitely saved me some time.