1. /// <summary>
  1. /// 获取图片库第一层文件夹--根据文件夹名称排序
  1. /// </summary>
  1. /// <param name="siteUrl"></param>
  1. /// <param name="weburl"></param>
  1. /// <param name="listID"></param>
  1. /// <returns></returns>
  1. public List<SPFolder> GetListRootFoldersOrderByName(string siteUrl, string weburl, string listID)
  1. {
  1. List<SPFolder> folderList = new List<SPFolder>();
  1. try
  1. {
  1. if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
  1. {
  1. using (SPSite currentsite = new SPSite(siteUrl))
  1. {
  1. using (SPWeb currentweb = currentsite.OpenWeb(weburl))
  1. {
  1. Guid listGuid = new Guid(listID);
  1. SPList list = currentweb.Lists[listGuid];
  1. if (list != null)
  1. {
  1. SPFolder rootfolder = list.RootFolder;
  1. //按照创建文件夹的时间排序
  1.  
  1. folderList = (from SPFolder fr in rootfolder.SubFolders
  1. where fr.Name != "Forms"
  1. orderby fr.Name ascending
  1. select fr).ToList();
  1. }
  1. }
  1. }
  1. }
  1. }
  1. catch (Exception)
  1. {
  1.  
  1. }
  1.  
  1. return folderList;
  1. }

分页显示

  1. /// <summary>
  1. /// 获取图片库第一层文件夹-linq分页
  1. /// </summary>
  1. /// <param name="siteUrl"></param>
  1. /// <param name="weburl"></param>
  1. /// <param name="listID"></param>
  1. /// <param name="pageSize"></param>
  1. /// <param name="pageIndex"></param>
  1. /// <param name="totalCount"></param>
  1. /// <returns></returns>
  1. public List<SPFolder> GetListRootFolders(string siteUrl, string weburl, string listID, int pageSize, int pageIndex, out int totalCount)
  1. {
  1. List<SPFolder> folderList = new List<SPFolder>();
  1. int count = 0;
  1. try
  1. {
  1. if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
  1. {
  1. using (SPSite currentsite = new SPSite(siteUrl))
  1. {
  1. using (SPWeb currentweb = currentsite.OpenWeb(weburl))
  1. {
  1. Guid listGuid = new Guid(listID);
  1. SPList list = currentweb.Lists[listGuid];
  1. if (list != null)
  1. {
  1. SPFolder rootfolder = list.RootFolder;
  1. //按照创建文件夹的时间排序
  1. count = rootfolder.SubFolders.Count - 1;//不记录Forms
  1. folderList = new List<SPFolder>((from SPFolder fr in rootfolder.SubFolders
  1. where fr.Name != "Forms"
  1. orderby fr.Properties["vti_timecreated"] descending
  1. select fr).Skip((pageIndex - 1) * pageSize).Take(pageSize));
  1. }
  1. }
  1. }
  1. }
  1. }
  1. catch (Exception)
  1. {
  1.  
  1. }
  1. totalCount = count;
  1. return folderList;
  1. }
  1. /// <summary>
  1. /// 获取文件夹第一个图片文件
  1. /// </summary>
  1. /// <param name="f"></param>
  1. /// <returns></returns>
  1. public SPFile GetFirstImgByFolder(SPFolder f)
  1. {
  1. if (f.Files.Count > 0)
  1. {
  1. SPFile file = (from SPFile fe in f.Files
  1. orderby fe.TimeCreated descending
  1. select fe).FirstOrDefault();
  1. return file;
  1. }
  1. return null;
  1. }
  2.  
  1. /// <summary>
  2. /// 获取列表文件夹下的子文件夹
  3. /// </summary>
  4. /// <param name="folderGuid"></param>
  5. /// <param name="siteUrl"></param>
  6. /// <param name="weburl"></param>
  7. /// <param name="listID"></param>
  8. /// <returns></returns>
  9. public List<SPFolder> GetSubFolders(Guid folderGuid, string siteUrl, string weburl, string listID)
  10. {
  11. List<SPFolder> folderList = new List<SPFolder>();
  12. try
  13. {
  14. if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
  15. {
  16. using (SPSite currentsite = new SPSite(siteUrl))
  17. {
  18. using (SPWeb currentweb = currentsite.OpenWeb(weburl))
  19. {
  20. Guid listGuid = new Guid(listID);
  21.  
  22. SPList list = currentweb.Lists[listGuid];
  23. if (list != null)
  24. {
  25. SPListItem rootfolder = list.Folders[folderGuid];
  26. if (rootfolder.Folder.Exists)
  27. {
  28. folderList = new List<SPFolder>((from SPFolder fr in rootfolder.Folder.SubFolders
  29. where fr.Name != "Forms"
  30. orderby fr.Properties["vti_timecreated"] descending
  31. select fr)).ToList();
  32. }
  33. }
  34. }
  35. }
  36. }
  37. }
  38. catch (Exception)
  39. {
  40.  
  41. }
  42. return folderList;
  43. }
  44.  
  45. #region//获取某个选择的文件夹下的图片
  46. /// <summary>
  47. /// 根据选择的文件夹获取下面的图片
  48. /// </summary>
  49. /// <param name="selectedFolderValueList">选中的文件夹</param>
  50. /// <param name="splist">列表</param>
  51. /// <returns>返回检索的数据集合</returns>
  52. public static List<PhotoFileEntity> GetPhotoListToSelected(string selectedFolderValueList, SPList splist)
  53. {
  54. //返回的值申明
  55. List<PhotoFileEntity> photolist = new List<PhotoFileEntity>();
  56. //
  57. try
  58. {
  59. //选中的文件夹
  60. if (!string.IsNullOrEmpty(selectedFolderValueList))
  61. {
  62. #region//根据选择的值得到文件夹
  63. string[] folderList = selectedFolderValueList.Split(new char[] { ',' });
  64. #endregion
  65.  
  66. #region//循环文件夹
  67. if (folderList != null && folderList.Length > )
  68. {
  69. foreach (string folderguid in folderList)
  70. {
  71. #region//根据文件夹的guid得到第1张图片
  72. if (!string.IsNullOrEmpty(folderguid))
  73. {
  74. SPListItem itemfolder = splist.Folders[new Guid(folderguid)];
  75. //
  76. if (itemfolder != null)
  77. {
  78. //文件夹
  79. SPFolder subfolder = itemfolder.Folder;
  80. //如果文件夹不为空
  81. if (subfolder != null)
  82. {
  83. #region//读取第1张图片为文件夹显示的图片
  84. //读取照片
  85. List<SPFile> spfiles = (from SPFile file in subfolder.Files
  86. orderby file.TimeCreated descending
  87. select file).ToList();
  88. //如果不为空
  89. if (spfiles != null)
  90. {
  91. //值读取一张
  92. foreach (SPFile spfile in spfiles)
  93. {
  94. #region//读取照片详细信息
  95. PhotoFileEntity doc = new PhotoFileEntity();
  96. //赋值
  97. doc.FileName = spfile.Name;
  98. //文件夹的名称
  99. doc.FolderName = subfolder.Name;
  100. //文件夹的相对url
  101. doc.FolderUrl = HttpUtility.UrlEncode(subfolder.Url);
  102. //扩展名
  103. doc.Extension = spfile.Item["File_x0020_Type"] == null ? string.Empty :
  104. spfile.Item["File_x0020_Type"].ToString();
  105. //大小缩略图
  106. string twName = doc.FileName.Replace(string.Format(".{0}", doc.Extension),
  107. string.Format("_{0}", doc.Extension));
  108. //缩略图的url
  109. doc.ThumbnailUrl = string.Format("{0}/{1}/_t/{2}.jpg", subfolder.ParentWeb.Url, doc.FolderUrl, twName);
  110. //大图的url
  111. doc.LargeImageUrl = string.Format("{0}/{1}/_w/{2}.jpg", subfolder.ParentWeb.Url, doc.FolderUrl, twName);
  112. //
  113. doc.Id = spfile.UniqueId;
  114. doc.FileUrl = subfolder.ParentWeb.Url + "/" + spfile.Url;
  115. doc.ServerRelativeUrl = spfile.ServerRelativeUrl;
  116. doc.TotalLength = spfile.TotalLength;
  117. doc.TimeCreated = spfile.TimeCreated;
  118. doc.TimeLastModified = spfile.TimeLastModified;
  119. //如果不为空
  120. if (spfile.Item != null)
  121. {
  122. //描述
  123. doc.Description = spfile.Item["Description"] == null ? string.Empty :
  124. spfile.Item["Description"].ToString();
  125. //关键字
  126. doc.KeyWords = spfile.Item["Keywords"] == null ? string.Empty :
  127. spfile.Item["Keywords"].ToString();
  128. //图片宽度
  129. doc.Width = spfile.Item["ImageWidth"] == null ? : int.Parse(spfile.Item["ImageWidth"].ToString());
  130. //图片高度
  131. doc.Height = spfile.Item["ImageHeight"] == null ? : int.Parse(spfile.Item["ImageHeight"].ToString());
  132. }
  133.  
  134. SPUser user = spfile.Author;
  135. //得到作者
  136. if (user != null)
  137. {
  138. doc.AuthorName = user.Name;
  139. doc.AuthorLoginName = user.LoginName;
  140. }
  141. //加入到集合里来
  142. photolist.Add(doc);
  143. #endregion
  144.  
  145. }
  146. }
  147. #endregion
  148. }
  149. }
  150. }
  151. #endregion
  152.  
  153. }
  154. }
  155. #endregion
  156. }
  157. }
  158. catch
  159. {
  160. }
  161. //return
  162. return photolist;
  163. }
  164. #endregion

如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示的更多相关文章

  1. PHP读取文件夹目录,按时间排序,大小排序,名字排序

    工作中有时候会遇到文件存储数据,但是在前台显示的时候又因为没有数据库,无法使用上传或最后一次修改日期字段排序,所以有了如下代码: <?php $dir = "./";//目录 ...

  2. Sharepoint中有关文件夹的操作

    1.GetItemsWithUniquePermissions根据返回数量和是否返回文件夹获取唯一权限的列表项集合 对于SharePoint对象模型中SPList的GetItemsWithUnique ...

  3. SharePoint REST API - 文件夹和文件

    博客地址:http://blog.csdn.net/FoxDave 本篇讲述如何通过REST操作文件夹和文件. 使用REST操作文件夹 在你知道某个文档库中的文件夹的URL时,可以使用如下的代码获 ...

  4. java 把一个文件夹里图片复制到另一个文件夹里

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.ut ...

  5. 读取assets文件夹下图片(ods_interview)

    今天看了一道题,现在总结一下里面使用到的知识点: 1.assets文件的访问: 原文出处:http://blog.csdn.net/fengyuzhengfan/article/details/383 ...

  6. PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签

    新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...

  7. angular调用WCF服务,读取文件夹下图片显示列表,下载另存为图片

    读取文件夹下的文件 public string ReadImagesPaths() { string result = string.Empty; try { string path = System ...

  8. du---查看文件夹大小-并按大小进行排序

    使用df 命令查看当前磁盘使用情况: df -lh [root@gaea-dev-xjqxz-3 ~]$ df -lh Filesystem Size Used Avail Use% Mounted ...

  9. [Linux] du-查看文件夹大小-并按大小进行排序

    reference : http://blog.csdn.net/jiaobuchong/article/details/50272761# 某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废 ...

随机推荐

  1. CentOS 7 关闭防火墙和SELinux

    [修改机器名] # vi /etc/hostname [关SELinux] # vi /etc/selinux/config设置SELINUX=disabled [关防火墙] # systemctl ...

  2. plsql导入excel时报错:ORA-01036: 非法变量名/编号

    导入oracle数据,选择工具->odbc导入->Excel 然后关于日期的插入出错,修改后如下:

  3. Hyperledger中数据存取的实现

    简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...

  4. 意译:《JVM Internals》

    译者语 为加深对JVM的了解和日后查阅时更方便,于是对原文进行翻译.内容是建立在我对JVM的认识的基础上翻译的,加上本人的英语水平有限,若有纰漏请大家指正,谢谢. 原文地址:http://blog.j ...

  5. C#深入.NET平台的软件系统分层开发

    今天我们来讲讲分层开发,你从标题能不能简单的认识一下什么是分层呢? 不懂也没关系,接下来我来给你讲讲. 第一章 软件系统的分层开发 (1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的 ...

  6. 需要正确安装 Microsoft.Windows.ShellExperienceHost 和 "Microsoft.Windows.Cortana" 应用程序。

    windows 10 开始菜单修复工具 Win10开始菜单修复工具出现的原因,自从升级到Windows  10,一直BUG不断,而其中有一个BUG非常的让你印象深刻,就是开始菜单无响应,你用着用着电脑 ...

  7. c#使用WebClient登录网站抓取登录后的网页

    C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebCl ...

  8. Swift注释

    Swift 中的普通注释与 Objective-C 中的一致,大概分为以下三种 // 单行注释 何问起 / *  多行注释 hovertree.com */ /// 标记注释1 http://hove ...

  9. Web端权限管理新增实用功能:批量增加操作,简单方便快速!

    扩展了吉日嘎拉的Web端权限管理功能后,每次添加菜单倒没啥问题,毕竟菜单的数量有限,可是每增加一个模块.功能或者说权限控制点,就得针对各种常规操作,新增很多遍. 浪费时间,还容易出错.新增了一个字典表 ...

  10. Scala确实是门好语言

    看完了一本Scala的书,整体感觉很不错,语法很简洁,对用惯了脚本语言的人来说语言特性稍微有点复杂,不过对Java用户应该没有压力. 最牛叉的有两点:并发.面向领域编程