无法使用winform将文档上载到sharepoint

时间:2017-05-08 10:41:13

标签: c# .net c#-4.0 sharepoint-2010 .net-4.0

我已经创建了一个从我的桌面运行的c#winform,我希望能够将它上传到我们的sharepoint服务器。

目前我有以下代码:

public void DocUploadTest()
{
    SP.ClientContext ctx = new SP.ClientContext("https://sharepoint.oshirowanen.com/sites/oshirodev/");
    SP.Web currentWeb = ctx.Web;
    ctx.Load(currentWeb);
    ctx.ExecuteQuery();
    using (FileStream fs = new FileStream(@"c:\sourcefolder\doc1.txt", FileMode.Open))
    {
        Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, "/destinationfolder/doc1.txt", fs, true);
    }
}

此代码提供以下错误消息:

The remote server returned an error: (401) Unauthorized.

所以我试图通过添加以下行来获得授权:

ctx.Credentials = new NetworkCredential("[user name goes here]", "[password goes here]", "oshirowanen.com");

[用户名在此处]和[密码在此处]被替换为实际管理员级别登录凭据,如果从Web浏览器正式登录到sharepoint,则该凭据具有对sharepoint的完全访问权限。此登录允许我手动创建文件夹和上传文件。

现在代码看起来像这样:

public void DocUploadTest()
{
    SP.ClientContext ctx = new SP.ClientContext("https://sharepoint.oshirowanen.com/sites/oshirodev/");
    ctx.Credentials = new NetworkCredential("[user name goes here]", "[password goes here]", "oshirowanen.com");
    SP.Web currentWeb = ctx.Web;
    ctx.Load(currentWeb);
    ctx.ExecuteQuery();
    using (FileStream fs = new FileStream(@"c:\sourcefolder\doc1.txt", FileMode.Open))
    {
        Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, "/destinationfolder/doc1.txt", fs, true);
    }
}

我现在收到以下错误消息,我似乎无法找到解决方案:

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

注1:https://sharepoint.oshirowanen.com/sites/oshirodev/destinationfolder/doc1.txt

上尚未存在doc1.txt文件

注2:winform和sourcefile都在同一台本地机器上。

注意3:我还尝试使用权限较少的其他用户/通行证,这也会在上面显示401错误消息,而不是使用管理员登录时的409错误消息。

0 个答案:

没有答案