我已经创建了一个从我的桌面运行的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错误消息。