递归创建Sharepoint目录

时间:2012-06-20 15:56:09

标签: sharepoint recursion

我正在尝试以。的方式创建一组来自平面文件的文件夹。

X / Y / Z

我想为每一个创建一个目录,但我对递归的记忆让我陷入困境。

这是我的代码可以有人建议。

    public void CreateDirectory(SPFolderCollection oWeb, string folder)
    {
        SPFolder theFolder = oWeb.Add(folder);
        theFolder.Update();
    }

    public void FolderCreator(SPWeb oWeb)
    {
        StreamReader reader = new StreamReader(this.txtFolders.Text);
        while (reader.Peek() != -1)
        {
            string folderLine = reader.ReadLine();
            if (folderLine.Contains("/"))
            {
                SPFolderCollection collection = oWeb.Folders["Documents"].SubFolders[folderLine.Split('/')[0]].SubFolders;
                CreateDirectory(collection, folderLine);
            }
            SPFolderCollection newCollection = oWeb.Folders["Documents"].SubFolders;
            CreateDirectory(newCollection, folderLine);
        }
    }

这不起作用我正在寻找它,所以如果我通过

ABC / DEF / GHI 和 ABC / DEF 它将适当地创建文件夹。

但我被困在如何做到这一点。

1 个答案:

答案 0 :(得分:1)

SPFileCollection.Add()方法允许您传入文件的完整相对路径。所以这可能是一个选项,假设你不只是生成一个你可能正在做的文件夹结构,在这种情况下,除非你创建一个临时文件然后删除它以保留文件夹路径,否则这不会真正起作用。

web.Files.Add("/sites/somesite/shared documents/foldera/folderb/folderc/somefile.txt", stream);
相关问题