1

我正在尝试在文档库中创建一个新文件夹。实际上,代码运行良好,但是当新文件夹的标题以空白开头时,我得到一个异常“找不到文件”并且没有创建文件夹。

我已经尝试对标题进行编码:将 blach 替换为"%20""+"。在这种情况下,文件夹已创建,但它包含其他字符,例如"+"标题中的第一个位置。

我尝试使用浏览器在 SharePoint 应用程序中创建文件夹“blankBefore” - 它有效。该文件夹已创建,看起来像这样“blankBefore”。

我可以创建标题中带有空格的文件夹,但如果文件夹的标题以空格开头,则不能。

public bool CreateFolder(SharePointNode spParentNode, string strFolderName)
{
    ClientContext localCTX = new ClientContext(spParentNode.ParentSite);
    ConectClient(localCTX);

    Folder newFolder = null;

    var folder = localCTX.Web.GetFolderByServerRelativeUrl(spParentNode.URL);
    localCTX.Load(folder);
    localCTX.Load(folder.Folders);
    Folder newFolder = folder.Folders.Add(strFolderName);
    newFolder.Update();
    localCTX.ExecuteQuery();

    return true;
}
4

1 回答 1

0

在 SharePoint 列表中创建文件夹(SharePoint 2010、2013、2016)

using (var clientContext = new ClientContext("http://sp/sites/test"))
            {
                string folderName = "test";
                var list = clientContext.Web.Lists.GetByTitle("ListBase");
                list.EnableFolderCreation = true;

                clientContext.Load(list);
                clientContext.Load(list.RootFolder);
                clientContext.Load(list.RootFolder.Folders);
                clientContext.ExecuteQuery();

                var folderCollection = list.RootFolder.Folders;

                foreach (var folder in folderCollection)
                {
                    if (folder.Name == folderName)
                    {
                        clientContext.Load(folder.Files);
                        clientContext.ExecuteQuery();
                    }
                    else
                    {
                        var itemCreateInfo = new ListItemCreationInformation
                        {
                            UnderlyingObjectType = FileSystemObjectType.Folder,
                            LeafName = folderName
                        };
                        var newItem = list.AddItem(itemCreateInfo);
                        newItem["Title"] = folderName;
                        newItem.Update();
                        clientContext.ExecuteQuery();
                        break;
                    }
                }
            }
于 2019-07-26T10:46:42.663 回答