Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint SPO&;CSOM&;Can';我不能将文档上载到文档库,但我可以创建文件夹_Sharepoint_Sharepoint Online_Csom - Fatal编程技术网

Sharepoint SPO&;CSOM&;Can';我不能将文档上载到文档库,但我可以创建文件夹

Sharepoint SPO&;CSOM&;Can';我不能将文档上载到文档库,但我可以创建文件夹,sharepoint,sharepoint-online,csom,Sharepoint,Sharepoint Online,Csom,我在尝试将文档上载到文档库时遇到列表视图阈值问题。让我给你讲个背景故事 我的站点位于SPO上,我正在使用CSOM创建一个文件夹,然后将上载的文档添加到该文件夹中 我用于向SPO进行身份验证的服务帐户是网站集管理员 我的CSOM代码可以创建文件夹,但无法将文档上载到该文件夹,因为SharePoint表示我们已达到列表视图阈值 我们正试图将文档上载到的文档库中有超过20000项 我们使用的默认视图只选择了一列,我们对标题和创建的字段进行了索引,文档库使用了现代经验 我们已经使用相同的代码一段时间

我在尝试将文档上载到文档库时遇到列表视图阈值问题。让我给你讲个背景故事

  • 我的站点位于SPO上,我正在使用CSOM创建一个文件夹,然后将上载的文档添加到该文件夹中
  • 我用于向SPO进行身份验证的服务帐户是网站集管理员
  • 我的CSOM代码可以创建文件夹,但无法将文档上载到该文件夹,因为SharePoint表示我们已达到列表视图阈值

  • 我们正试图将文档上载到的文档库中有超过20000项

  • 我们使用的默认视图只选择了一列,我们对标题和创建的字段进行了索引,文档库使用了现代经验
我们已经使用相同的代码一段时间了,但到2019年10月,事情停止了

有什么想法吗?下面是我正在使用的代码 使用(ClientContext ctx=newclientcontext(SPUrl)) { Credentials=新的SharePointOnlineCredentials(spuser、securePassword)

我的示例测试代码(lib有超过10k个文件)

或(文件夹中的文件数超过10k)

我的示例测试代码(lib有超过10k个文件)

或(文件夹中的文件数超过10k)


我发现了问题。问题是调用ctx.Load(docs.RootFolder.Folders);我删除了这段代码,现在可以上载文档了。

我发现了问题。问题是调用ctx.Load(docs.RootFolder.Folders);我删除了这段代码,现在可以上载文档。

我发现了问题。问题是调用ctx.Load(docs.RootFolder.Folders);我删除了这段代码,现在可以上载文档。我发现了问题。问题是调用ctx.Load(docs.RootFolder.Folders);我删除了这段代码,现在可以上传文档了。
                            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(); }
List docs = context.Web.Lists.GetByTitle("largeLib1");                    
                var filePath = @"C:\Lee\template.xlsx";
                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {                        
                    FileCreationInformation flciNewFile = new FileCreationInformation();

                    flciNewFile.ContentStream = fs;
                    flciNewFile.Url = System.IO.Path.GetFileName(filePath);
                    flciNewFile.Overwrite = true;                    
                    Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(flciNewFile);
                    context.Load(uploadFile);
                    context.ExecuteQuery();
                } 
Folder folder = context.Web.GetFolderByServerRelativeUrl("/sites/xxx/largeLib1/set2");
                var filePath = @"C:\Lee\template.xlsx";
                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {                        
                    FileCreationInformation flciNewFile = new FileCreationInformation();

                    flciNewFile.ContentStream = fs;
                    flciNewFile.Url = System.IO.Path.GetFileName(filePath);
                    flciNewFile.Overwrite = true;                    
                    Microsoft.SharePoint.Client.File uploadFile = folder.Files.Add(flciNewFile);
                    context.Load(uploadFile);
                    context.ExecuteQuery();
                }