Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Uploading files to Sharepoint (WSS 3.0) document library using HTTP PUT

Hi I have the following piece of code to upload a file to Sharepoint. It uses HTTP PUT:

public static string UploadFile(string destUrl, string sourcePath)
        {
            try
            {
                Uri destUri = new Uri(destUrl);
                FileStream inStream = File.OpenRead(sourcePath);
                WebRequest req = WebRequest.Create(destUri);
                req.Method = "PUT";
                req.Headers.Add("Overwrite", "F");
                req.Timeout = System.Threading.Timeout.Infinite;
                req.Credentials = CredentialCache.DefaultCredentials;
                Stream outStream = req.GetRequestStream();
                string status = CopyStream(inStream, outStream);
                if (status == "success")
                {
                    outStream.Close();
                    WebResponse ores = req.GetResponse();
                    return "success";
                }
                else
                {
                    return status;
                }
            }
            catch (WebException we)
            {
            return we.Message;
            }
            catch (System.Exception ee)
            {
            return ee.Message;
            }
        }

When I run this code I get the exception:

"The remote server returned an error: (409) Conflict."

Does anyone have any ideas as to where I am going wrong?

Thanks,

Alex

like image 914
taggers Avatar asked Feb 27 '09 19:02

taggers


1 Answers

I've had this issue when I was referencing the url of the document library and not the destination file itself.

i.e. try http://server name/document library name/new file name.doc

like image 193
nzkarl Avatar answered Nov 13 '22 07:11

nzkarl