401未经授权上传至Sharepoint 2013

时间:2016-05-10 11:56:58

标签: c# http sharepoint sharepoint-2013

我想使用.Net WebClient对象使用基本身份验证将文件PUT到sharepoint库,它在经典模式下在sharepoint 2010中工作,但在声明模式下在Sharepoint 2013中不起作用。

public static void UploadFile(string remoteFileURL, byte[] file)
    {
        WebClient webclient = new WebClient();
        webclient.Credentials = new NetworkCredential("username", "password", "domain");
        webclient.UploadData(remoteFileURL, "PUT", file);
        webclient.Dispose();
    }

2 个答案:

答案 0 :(得分:1)

401 Unauthorized错误是一个HTTP状态代码,表示在您首次使用有效的用户ID和密码登录之前,无法加载您尝试访问的页面。

如果您收到401 Unauthorized错误,则表示您输入的凭据因某种原因无效。

在你的情况下,你正在发出一个put请求。在浏览器401上提示您输入有效凭据,直到您单击取消。

考虑到它在SharePoint 2010上有效,这些可能是错误: -

  1. 您使用的凭据在SharePoint 2013服务器中无效
  2. SharePoint 2013服务器配置为禁用拉取请求
  3. 您正在尝试使用的用户没有执行拉取请求的访问权限
  4. 从我对声明模式的搜索中,我发现有setup涉及在声明模式下添加/迁移用户,该模式使用不同形式的身份验证。我认为这可能是您的问题,您应该尝试检查您正在使用的用户的凭据和访问权限的有效性。

答案 1 :(得分:0)

可能是多个依赖项:

  • 该帐户是否可以访问?
  • WebDav是偶然性的吗?

Maybe this link might help, but it requires CSOM C#