【发布时间】:2020-04-01 13:09:07
【问题描述】:
我在尝试将文档上传到文档库时遇到列表视图阈值问题。让我告诉你背后的故事。
- 我的网站在 SPO 上,我正在使用 CSOM 创建一个文件夹,然后将上传的文档添加到该文件夹中。
- 我用来向 SPO 进行身份验证的服务帐户是网站集管理员。
我的 CSOM 代码可以创建文件夹,但无法将文档上传到该文件夹,因为 SharePoint 说我们已达到列表视图阈值。
我们尝试将文档上传到的文档库中包含超过 20K 项。
- 我们使用的默认视图只选择了一列,我们为 Title 和 Created 字段编制索引,并且文档库使用现代体验。
一段时间以来,我们一直在使用相同的代码,但截至 2019 年 10 月,一切都停止了。
有什么想法吗?下面提供的是我正在使用的代码 使用 (ClientContext ctx = new ClientContext(SPUrl)) { ctx.Credentials = new SharePointOnlineCredentials(spuser, securePassword);
Web webSite = ctx.Web;
ctx.Load(webSite);
ctx.ExecuteQuery();
List list = ctx.Web.Lists.GetByTitle("TempDoc");
ctx.Load(list);
var lst = ctx.Web.Lists.GetByTitle("TempDoc");
var fld1 = lst.RootFolder.Folders.Add(FolderName);
fld1.Update();
ctx.ExecuteQuery();
foldersatus = true;
try
{
int FileLen;
FileLen = Request.Files[upload].ContentLength;
byte[] input = new byte[FileLen];
System.IO.Stream fileStream;
// Initialize the stream.
fileStream = Request.Files[upload].InputStream;
// Read the file into the byte array.
fileStream.Read(input, 0, FileLen);
FileCreationInformation newFile = new FileCreationInformation();
newFile.Content = input;
newFile.Url = filename;
List docs = webSite.Lists.GetByTitle("TempDoc");
ctx.Load(docs.RootFolder);
ctx.Load(docs.RootFolder.Folders);
Microsoft.SharePoint.Client.File uploadFile1 = docs.RootFolder.Folders[0].Files.Add(newFile);
ctx.ExecuteQuery(); }
【问题讨论】:
标签: sharepoint sharepoint-online csom