递归上传文件和文件夹至SharePoint
2010-08-18 00:14
288 查看
如果你使用SharePoint 2010的话,可以直接“上传多个文件”。在弹出的对话框中可以直接往里拖放整个文件夹。如下图所示:
如果是SharePoint 2007的话,可以通过“资源管理器”视图,像在资源管理器里管理本地文件一样,拖放文件夹。
下面介绍的方式是下策。当然下下策就是你手工一个一个的建文件夹上传文件了。下策是你可以通过SharePoint对象模型或Web Services的方式编写一个递归程序来实现从本地文件夹到SharePoint库的上传工作。这里我们演示的是通过对象模型上传到一个SharePoint 2010站点。代码对于SharePoint 2007站点也是可用的。唯一的区别就是32位和64位,相应的.NET Framework版本和Microsoft.SharePoint.dll版本。
执行该代码的用户需要具备相应文档库的上传权限
参考资料
Uploading Files and Folders Recursively to a SharePoint Site
如果是SharePoint 2007的话,可以通过“资源管理器”视图,像在资源管理器里管理本地文件一样,拖放文件夹。
下面介绍的方式是下策。当然下下策就是你手工一个一个的建文件夹上传文件了。下策是你可以通过SharePoint对象模型或Web Services的方式编写一个递归程序来实现从本地文件夹到SharePoint库的上传工作。这里我们演示的是通过对象模型上传到一个SharePoint 2010站点。代码对于SharePoint 2007站点也是可用的。唯一的区别就是32位和64位,相应的.NET Framework版本和Microsoft.SharePoint.dll版本。
Microsoft.SharePoint
引用Microsoft.SharePoint.dll以便访问SharePoint对象模型。上传文档至文档库
CreateDirectories(string path,SPFolderCollection oFolderCollection)
CreateDirectories方法是一个递归方法,接收两个参数。path参数指定本地计算机文件系统中的源位置;oFolderCollection参数指定目标文件夹集合。SPFolderCollection的用法参考这里。 private void CreateDirectories(string path, SPFolderCollection oFolderCollection) { //上传多个文档 foreach (FileInfo oFI in new DirectoryInfo(path).GetFiles()) { FileStream fileStream = File.OpenRead(oFI.FullName); SPFile spfile = oFolderCollection.Folder.Files.Add(oFI.Name, fileStream, true); spfile.Update(); } //上传多个文件夹 foreach (DirectoryInfo oDI in new DirectoryInfo(path).GetDirectories()) { string sFolderName = oDI.FullName.Split('\\')[oDI.FullName.Split('\\').Length - 1]; SPFolder spNewFolder = oFolderCollection.Add(sFolderName); spNewFolder.Update(); //递归调用以创建子文件夹 CreateDirectories(oDI.FullName, spNewFolder.SubFolders); } }
本地文件夹
SharePoint文档库
运行结果
限制
准备上传的文件的大小 不能超过2GB执行该代码的用户需要具备相应文档库的上传权限
参考资料
Uploading Files and Folders Recursively to a SharePoint Site
相关文章推荐
- FTP 批量上传文件和文件夹 自动递归
- Python实现FTP上传文件或文件夹实例(递归)
- Python实现FTP上传文件或文件夹(递归)
- WSS3SDK之:如何从本地文件夹上传文件到SharePoint站点
- FTP上传下载 FTP操作类 FTPHelper 异步上传 递归创建文件文件夹
- FTP上传下载 FTP操作类 FTPHelper 异步上传 递归创建文件文件夹
- 递归获取SharePoint文档库文件夹内的所有文件
- yii2 createDirectory 文件上传的保存文件和递归创建文件夹
- 利用Sharepoint里面Mysite的Shared Pictures的图片做相册 [包括创建文件夹,上传文件]
- python ftp文件夹文件递归上传推送
- ASP.NET(c#)FTP 上传文件文件夹【递归上传】
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
- 递归遍历文件夹里面的文件
- 递归遍历文件夹里面的文件
- Android递归方式删除某文件夹下的所有文件
- iOS文件处理,将图片存到手机目录里面 创建文件夹,NSFileManager用来存储图片,然后遍历将图片取出上传到服务器哦!!
- 文件上传时判断文件夹是否存在
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据