我制作了一个C#应用程序,用于将文件上传到SharePoint。到目前为止,它可以在除默认库之外的所有文档库上按预期工作。每当它抛出一个异常时:网址为“ http:// ...”的站点上不存在列表“文档” 我也尝试过“共享文档”,但结果相同。默认库是否有一些我不知道的内部名称?
上传代码如下:
// Get the SharePoint context
ClientContext context = new ClientContext(domain);
// Open the web
var web = context.Web;
String[] files = System.IO.File.ReadAllLines(args[0]);
foreach (String file in files)
{
// Create the new file
var newFile = new FileCreationInformation
{
Content = System.IO.File.ReadAllBytes(file),
Url = Path.GetFileName(file),
Overwrite = true
};
// Get a reference to the document library
var docs = web.Lists.GetByTitle(library);
var uploadFile = docs.RootFolder.Files.Add(newFile);
// Upload the document
context.Load(uploadFile);
}
答案 0 :(得分:1)
首先,通过URL(而不是标题)获取列表更为安全。
using (ClientContext context = new ClientContext("https://sharepoint.domain.com"))
{
context.Load(context.Web, w => w.ServerRelativeUrl);
context.ExecuteQuery();
List list = context.Web.GetList($"{context.Web.ServerRelativeUrl.TrimEnd('/')}/Shared Documents");
}
也不要忘记放置对象context
。
检查启用的备用语言(网站设置>网站管理>语言设置)。您可能启用了更多的语言,而默认的语言可能与您期望的不同。每种语言都有其自己的列表名称。