我正在尝试在文档库中创建一个新文件夹。实际上,该代码运行良好,但是当新文件夹的标题以空白开头时,出现异常“找不到文件”,并且未创建该文件夹。
我已经尝试对标题进行编码:用"%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;
}
答案 0 :(得分:0)
Create folder in SharePoint list (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;
}
}
}