1

I need to create subfolder in sharepoint with client object model, the parent folder is existing, this is my code, but I got this error,

Invalid file name. The file name you specified could not be used. It may be the name of an existing file or directory, or you may not have permission to access the file.

            ContentTypeCollection listContentTypes = list.ContentTypes;
            clientContext.Load(listContentTypes, types => types.Include
                             (type => type.Id, type => type.Name,
                             type => type.Parent));

            var result = clientContext.LoadQuery(listContentTypes.Where
              (c => c.Name == "Folder"));

            clientContext.ExecuteQuery();

            ContentType folderContentType = result.FirstOrDefault();

            ListItemCreationInformation newItem = new ListItemCreationInformation();
            newItem.UnderlyingObjectType = FileSystemObjectType.Folder;
            newItem.FolderUrl = @"http://mysite/sites/org" + "/" + listName;
            if (!folderName1.Equals(string.Empty))
            {
                newItem.FolderUrl += "/" + folderName1;
            }
            newItem.LeafName = folderName2;
            ListItem item = list.AddItem(newItem);
            item["ContentTypeId"] = folderContentType.Id.ToString();
            item["Title"] = folderName2;
            item.Update();
            clientContext.Load(list);
            clientContext.ExecuteQuery();
nixjojo
  • 617
  • 8
  • 22

1 Answers1

0

If you need to create folder you can try to use the following code:

        using (var clientContext = new ClientContext(@"http://server"))
        {
            var web = clientContext.Web;
            var lst = web.Lists.GetByTitle("CheckDocLib");
            var fld1 = lst.RootFolder.Folders.Add("FirstLevel1");
            var fld2 = fld1.Folders.Add("SecondLevel1");
            fld1.Update();
            fld2.Update();
            clientContext.ExecuteQuery();
        }
Eduard Kibort
  • 316
  • 1
  • 7