【问题标题】:Downloading from Sharepoint Document Library从 Sharepoint 文档库下载
【发布时间】:2020-06-01 19:58:20
【问题描述】:

目标:使用 C# 从 Sharepoint 2010 文档库下载文档

我搜索并找到了许多关于如何从 Sharepoint 文档库将文档下载到本地磁盘的问题/资源。到目前为止,我一直无法成功实施解决方案。

为了便于讨论,我的文档库位于以下链接: http://server.domain.com/sites/CompanyLocation/dprtmnts/DepartmentName/MyLibraryName/Forms/AllItems.aspx

在这个文档库中有两个文件夹,每个文件夹都包含一些文档。我希望检索这些文档的列表(在每个文件夹中),并能够根据命令下载/打开文档。

我尝试过的事情:

  1. 此评论的链接帖子:https://sharepoint.stackexchange.com/a/105923

链接的帖子 (https://stackoverflow.com/a/21056425/2480558) 提供了下载和上传的解决方案。我只需要下载,所以我尝试了。这个解决方案给了我一个 Microsoft.SharePoint.Client.ServerObjectNullReferenceException。没有说明 url、listTitle 或 listItemId 需要是什么,所以我可能做错了什么……它似乎没有获取任何文件。

我还尝试了关于该答案的第一篇博客文章,该文章指向使用来自bendsoft 的包。显然那个套餐是付费套餐,而且很贵。。我不能走那条路。

  1. 另一个答案:https://stackoverflow.com/a/53733630/2480558

这给了我以下异常:(实际服务器编辑出异常)

Microsoft.SharePoint.Client.ClientRequestException: 'The IDCRL response header from server 'http://server.domain.com/' is not valid. The response header value is 'NTLM'. The response status code is 'Unauthorized'. 
  1. 此解决方案:https://stackoverflow.com/a/15602003/2480558

老实说,我什至不记得为什么那个不起作用。

如果有人有什么东西可以帮助我走上正确的道路……我不熟悉提出网络请求和网络授权,或任何类似性质的事情。

【问题讨论】:

    标签: c# sharepoint sharepoint-2010


    【解决方案1】:

    如果您使用在 https://stackoverflow.com/a/53733630/2480558 找到的示例,但您必须针对本地 SharePoint 服务器对其进行调整,因为该代码正在登录到 SharePoint Online。

    public void Connect() 定义中,替换行
    clientContext.Credentials = new SharePointOnlineCredentials(UserName, securePassword);
    改为:
    clientContext.Credentials = new NetworkCredential(UserName, securePassword, "putYourADDomainNameHere");

    【讨论】:

    • 当您说“putYourADDomanNameHere”时,是否等于 server.domain.com?
    • 只是您的本地 AD 域,例如,如果您通常将用户名写为“mydomain\myuserid”,那么您只需将“mydomain”放在域参数中,将 myuserid 放在用户名参数。
    猜你喜欢
    • 2016-02-20
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多