2012-07-13 113 views
1

我需要建立與客戶端對象模型的SharePoint子文件夾中的SharePoint子文件夾中的文件名無效的錯誤,父文件夾存在,這是我的代碼,但我得到這個錯誤,當創建客戶端對象模型

無效的文件名稱。 您指定的文件名稱無法使用。它可能是現有文件或目錄的名稱,或者您可能沒有權限訪問該文件。

  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(); 

回答

0

如果你需要創建一個文件夾,你可以嘗試使用下面的代碼:

 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(); 
     } 
相關問題