SharePoint服务器端对象模型 之 访问文件和文件夹(Part 2)
2014-12-20 14:17
281 查看
4、添加文件夹
文件夹的创建方法在文档库和普通列表中稍有不同。
在文档库中,与一般的集合操作相同,直接使用SPFolderCollection的Add(string name)方法即可添加文件夹,例如下面的程序在文档库的根目录中添加一个名为“技术文档”的子文件夹:
但是这种方法对于普通列表来说就行不通了。在文档库中,SharePoint会将我们用上述方法创建的文件夹自动关联创建一个列表条目;但是在普通列表中,这种文件夹不会自动关联到新的列表条目上,因此在普通列表中使用这种方法创建出的文件夹,不会显示在任何一个列表视图中。在普通列表中,我们需要使用创建一个“文件夹类型的列表条目”的方式,来新建文件夹(既然是创建一个列表条目,不要忘记最后需要调用Update方法才能创建成功):
这种方法同样适用与文档库中的文件夹创建,但不同的是需要将文件夹名称写入“FileLeafRef”字段,而不是“Title”字段。(FileLeafRef是“名称”字段的内部名称,Title是“标题”字段的内部名称)
5、在文件夹中创建列表条目
之前在创建列表条目、文件夹的时候,都是在列表的根目录中进行的,当我们需要在某个子目录中创建列表条目或子文件夹的时候,需要用到SPList的AddItem方法的一个重载:
或者SPListItemCollection的Add方法的类似重载:
其中第一个参数需要指定列表条目所在的子文件夹的路径(要求使用相对服务器的Url地址);第二个参数指定了要创建的列表条目的类型,即创建普通条目还是创建文件夹。下面给出了一个例子:
6、文件(SPFile)和文件夹(SPFolder)的常用属性
SPFile的一些常用属性如下:
SPFolder的一些常用属性如下:
文件夹的创建方法在文档库和普通列表中稍有不同。
在文档库中,与一般的集合操作相同,直接使用SPFolderCollection的Add(string name)方法即可添加文件夹,例如下面的程序在文档库的根目录中添加一个名为“技术文档”的子文件夹:
using(SPSite site = new SPSite("http://sp2010/book"))
{
using(SPWeb web = site.OpenWeb())
{
SPList doclib = web.Lists["共享文档"];
doclib.RootFolder.SubFolders.Add("技术文档");
}
}
但是这种方法对于普通列表来说就行不通了。在文档库中,SharePoint会将我们用上述方法创建的文件夹自动关联创建一个列表条目;但是在普通列表中,这种文件夹不会自动关联到新的列表条目上,因此在普通列表中使用这种方法创建出的文件夹,不会显示在任何一个列表视图中。在普通列表中,我们需要使用创建一个“文件夹类型的列表条目”的方式,来新建文件夹(既然是创建一个列表条目,不要忘记最后需要调用Update方法才能创建成功):
using(SPSite site = new SPSite("http://sp2010/book"))
{
using(SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Chapters"];
SPListItem fldItem = list.AddItem();
fldItem.FileSystemObjectType = SPFileSystemObjectType.Folder;
fldItem["Title"] = "第一部分";
fldItem.Update();
}
}
这种方法同样适用与文档库中的文件夹创建,但不同的是需要将文件夹名称写入“FileLeafRef”字段,而不是“Title”字段。(FileLeafRef是“名称”字段的内部名称,Title是“标题”字段的内部名称)
5、在文件夹中创建列表条目
之前在创建列表条目、文件夹的时候,都是在列表的根目录中进行的,当我们需要在某个子目录中创建列表条目或子文件夹的时候,需要用到SPList的AddItem方法的一个重载:
public SPListItem AddItem(string folderUrl,
SPFileSystemObjectType underlyingObjectType)
或者SPListItemCollection的Add方法的类似重载:
public SPListItem Add(string folderUrl,
SPFileSystemObjectType underlyingObjectType)
其中第一个参数需要指定列表条目所在的子文件夹的路径(要求使用相对服务器的Url地址);第二个参数指定了要创建的列表条目的类型,即创建普通条目还是创建文件夹。下面给出了一个例子:
using (SPSite site = new SPSite("http://sp2010/book"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Chapters"];
SPFolder folder = web.GetFolder(list.RootFolder.Url
+ "/第一部分");
SPListItem itmInFolder = list.AddItem(folder.ServerRelativeUrl,
SPFileSystemObjectType.File);
itmInFolder["Title"] = "Ch01";
itmInFolder.Update();
}
}
6、文件(SPFile)和文件夹(SPFolder)的常用属性
SPFile的一些常用属性如下:
名称 | 类型 | 说明 |
Exists | bool | 文件是否存在 |
IconUrl | string | 与文件类型相关联的图标的Url |
Item | SPListItem | 文档对应的列表条目对象 |
Length | long | 文件的大小 |
Name | string | 文件名 |
ParentFolder | SPFolder | 所在文件夹的对象 |
ServerRelativeUrl | string | 文件相对于服务器的Url |
Url | string | 文件相对于网站的Url |
名称 | 类型 | 说明 |
Exists | bool | 文件夹是否存在 |
Files | SPFileCollection | 文件夹中的文件集合 |
Item | SPListItem | 文件夹对应的列表条目对象 |
Name | string | 文件夹名称 |
ParentFolder | SPFolder | 父文件夹的对象 |
SubFolders | SPFolderCollection | 子文件夹集合 |
ServerRelativeUrl | string | 文件相对于服务器的Url |
Url | string | 文件相对于网站的Url |
相关文章推荐
- SharePoint服务器端对象模型 之 访问文件和文件夹(Part 4)
- SharePoint服务器端对象模型 之 访问文件和文件夹(Part 1)
- SharePoint服务器端对象模型 之 访问文件和文件夹(Part 3)
- SharePoint服务器端对象模型 之 访问文件和文件夹(Part 3)
- SharePoint服务器端对象模型 之 访问用户、用户组和权限(Part 2)
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 4)
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 2)
- SharePoint 服务器端对象模型 之 使用LINQ进行数据访问操作(Part 2)
- SharePoint服务器端对象模型 之 访问用户、用户组和权限(Part 3)
- SharePoint服务器端对象模型 之 使用LINQ进行数据访问操作(Part 4)
- SharePoint服务器端对象模型 之 访问用户、用户组和权限(Part 1)
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 1)
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 3)
- SharePoint服务器端对象模型 之 使用LINQ进行数据访问操作(Part 3)
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 5)
- SharePoint服务器端对象模型 之 使用LINQ进行数据访问操作(Part 1)
- SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 4)
- SharePoint服务器端对象模型 之 对象模型概述(Part 1)
- SharePoint服务器端对象模型 之 对象模型概述(Part 2)
- SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 2)