【转】3.2SharePoint服务器端对象模型 之 访问文件和文件夹(Part 2)
4、添加文件夾
文件夾的創建方法在文檔庫和普通列表中稍有不同。
在文檔庫中,與一般的集合操作相同,直接使用SPFolderCollection的Add(string name)方法即可添加文件夾,例如下面的程序在文檔庫的根目錄中添加一個名為“技術文檔”的子文件夾:
1: using(SPSite site = new SPSite("http://sp2010/book")) 2: { 3: using(SPWeb web = site.OpenWeb()) 4: { 5: SPList doclib = web.Lists["共享文檔"]; 6: doclib.RootFolder.SubFolders.Add("技術文檔"); 7: } 8: }但是這種方法對于普通列表來說就行不通了。在文檔庫中,SharePoint會將我們用上述方法創建的文件夾自動關聯創建一個列表條目;但是在普通列表中,這種文件夾不會自動關聯到新的列表條目上,因此在普通列表中使用這種方法創建出的文件夾,不會顯示在任何一個列表視圖中。在普通列表中,我們需要使用創建一個“文件夾類型的列表條目”的方式,來新建文件夾(既然是創建一個列表條目,不要忘記最后需要調用Update方法才能創建成功):
1: using(SPSite site = new SPSite("http://sp2010/book")) 2: { 3: using(SPWeb web = site.OpenWeb()) 4: { 5: SPList list = web.Lists["Chapters"]; 6: SPListItem fldItem = list.AddItem(); 7: fldItem.FileSystemObjectType = SPFileSystemObjectType.Folder; 8: fldItem["Title"] = "第一部分"; 9: fldItem.Update(); 10: } 11: }這種方法同樣適用與文檔庫中的文件夾創建,但不同的是需要將文件夾名稱寫入“FileLeafRef”字段,而不是“Title”字段。(FileLeafRef是“名稱”字段的內部名稱,Title是“標題”字段的內部名稱)
?
5、在文件夾中創建列表條目
之前在創建列表條目、文件夾的時候,都是在列表的根目錄中進行的,當我們需要在某個子目錄中創建列表條目或子文件夾的時候,需要用到SPList的AddItem方法的一個重載:
1: public SPListItem AddItem(string folderUrl, 2: SPFileSystemObjectType underlyingObjectType)或者SPListItemCollection的Add方法的類似重載:
1: public SPListItem Add(string folderUrl, 2: SPFileSystemObjectType underlyingObjectType)其中第一個參數需要指定列表條目所在的子文件夾的路徑(要求使用相對服務器的Url地址);第二個參數指定了要創建的列表條目的類型,即創建普通條目還是創建文件夾。下面給出了一個例子:
1: using (SPSite site = new SPSite("http://sp2010/book")) 2: { 3: using (SPWeb web = site.OpenWeb()) 4: { 5: SPList list = web.Lists["Chapters"]; 6: SPFolder folder = web.GetFolder(list.RootFolder.Url 7: + "/第一部分"); 8: SPListItem itmInFolder = list.AddItem(folder.ServerRelativeUrl, 9: SPFileSystemObjectType.File); 10: itmInFolder["Title"] = "Ch01"; 11: itmInFolder.Update(); 12: } 13: }?
6、文件(SPFile)和文件夾(SPFolder)的常用屬性
SPFile的一些常用屬性如下:
| 名稱 | 類型 | 說明 |
| Exists | bool | 文件是否存在 |
| IconUrl | string | 與文件類型相關聯的圖標的Url |
| Item | SPListItem | 文檔對應的列表條目對象 |
| Length | long | 文件的大小 |
| Name | string | 文件名 |
| ParentFolder | SPFolder | 所在文件夾的對象 |
| ServerRelativeUrl | string | 文件相對于服務器的Url |
| Url | string | 文件相對于網站的Url |
SPFolder的一些常用屬性如下:
| 名稱 | 類型 | 說明 |
| Exists | bool | 文件夾是否存在 |
| Files | SPFileCollection | 文件夾中的文件集合 |
| Item | SPListItem | 文件夾對應的列表條目對象 |
| Name | string | 文件夾名稱 |
| ParentFolder | SPFolder | 父文件夾的對象 |
| SubFolders | SPFolderCollection | 子文件夾集合 |
| ServerRelativeUrl | string | 文件相對于服務器的Url |
| Url | string | 文件相對于網站的Url |
總結
以上是生活随笔為你收集整理的【转】3.2SharePoint服务器端对象模型 之 访问文件和文件夹(Part 2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 售价20熬夜水人参成本仅2元:爆火背后是
- 下一篇: 号称“飞行硫酸” 专家提醒:隐翅虫飞到身