如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
- /// <summary>
- /// 获取图片库第一层文件夹--根据文件夹名称排序
- /// </summary>
- /// <param name="siteUrl"></param>
- /// <param name="weburl"></param>
- /// <param name="listID"></param>
- /// <returns></returns>
- public List<SPFolder> GetListRootFoldersOrderByName(string siteUrl, string weburl, string listID)
- {
- List<SPFolder> folderList = new List<SPFolder>();
- try
- {
- if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
- {
- using (SPSite currentsite = new SPSite(siteUrl))
- {
- using (SPWeb currentweb = currentsite.OpenWeb(weburl))
- {
- Guid listGuid = new Guid(listID);
- SPList list = currentweb.Lists[listGuid];
- if (list != null)
- {
- SPFolder rootfolder = list.RootFolder;
- //按照创建文件夹的时间排序
- folderList = (from SPFolder fr in rootfolder.SubFolders
- where fr.Name != "Forms"
- orderby fr.Name ascending
- select fr).ToList();
- }
- }
- }
- }
- }
- catch (Exception)
- {
- }
- return folderList;
- }
分页显示
- /// <summary>
- /// 获取图片库第一层文件夹-linq分页
- /// </summary>
- /// <param name="siteUrl"></param>
- /// <param name="weburl"></param>
- /// <param name="listID"></param>
- /// <param name="pageSize"></param>
- /// <param name="pageIndex"></param>
- /// <param name="totalCount"></param>
- /// <returns></returns>
- public List<SPFolder> GetListRootFolders(string siteUrl, string weburl, string listID, int pageSize, int pageIndex, out int totalCount)
- {
- List<SPFolder> folderList = new List<SPFolder>();
- int count = 0;
- try
- {
- if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
- {
- using (SPSite currentsite = new SPSite(siteUrl))
- {
- using (SPWeb currentweb = currentsite.OpenWeb(weburl))
- {
- Guid listGuid = new Guid(listID);
- SPList list = currentweb.Lists[listGuid];
- if (list != null)
- {
- SPFolder rootfolder = list.RootFolder;
- //按照创建文件夹的时间排序
- count = rootfolder.SubFolders.Count - 1;//不记录Forms
- folderList = new List<SPFolder>((from SPFolder fr in rootfolder.SubFolders
- where fr.Name != "Forms"
- orderby fr.Properties["vti_timecreated"] descending
- select fr).Skip((pageIndex - 1) * pageSize).Take(pageSize));
- }
- }
- }
- }
- }
- catch (Exception)
- {
- }
- totalCount = count;
- return folderList;
- }
- /// <summary>
- /// 获取文件夹第一个图片文件
- /// </summary>
- /// <param name="f"></param>
- /// <returns></returns>
- public SPFile GetFirstImgByFolder(SPFolder f)
- {
- if (f.Files.Count > 0)
- {
- SPFile file = (from SPFile fe in f.Files
- orderby fe.TimeCreated descending
- select fe).FirstOrDefault();
- return file;
- }
- return null;
- }
- /// <summary>
- /// 获取列表文件夹下的子文件夹
- /// </summary>
- /// <param name="folderGuid"></param>
- /// <param name="siteUrl"></param>
- /// <param name="weburl"></param>
- /// <param name="listID"></param>
- /// <returns></returns>
- public List<SPFolder> GetSubFolders(Guid folderGuid, string siteUrl, string weburl, string listID)
- {
- List<SPFolder> folderList = new List<SPFolder>();
- try
- {
- if (!string.IsNullOrEmpty(siteUrl) && !string.IsNullOrEmpty(weburl) && !string.IsNullOrEmpty(listID))
- {
- using (SPSite currentsite = new SPSite(siteUrl))
- {
- using (SPWeb currentweb = currentsite.OpenWeb(weburl))
- {
- Guid listGuid = new Guid(listID);
- SPList list = currentweb.Lists[listGuid];
- if (list != null)
- {
- SPListItem rootfolder = list.Folders[folderGuid];
- if (rootfolder.Folder.Exists)
- {
- folderList = new List<SPFolder>((from SPFolder fr in rootfolder.Folder.SubFolders
- where fr.Name != "Forms"
- orderby fr.Properties["vti_timecreated"] descending
- select fr)).ToList();
- }
- }
- }
- }
- }
- }
- catch (Exception)
- {
- }
- return folderList;
- }
- #region//获取某个选择的文件夹下的图片
- /// <summary>
- /// 根据选择的文件夹获取下面的图片
- /// </summary>
- /// <param name="selectedFolderValueList">选中的文件夹</param>
- /// <param name="splist">列表</param>
- /// <returns>返回检索的数据集合</returns>
- public static List<PhotoFileEntity> GetPhotoListToSelected(string selectedFolderValueList, SPList splist)
- {
- //返回的值申明
- List<PhotoFileEntity> photolist = new List<PhotoFileEntity>();
- //
- try
- {
- //选中的文件夹
- if (!string.IsNullOrEmpty(selectedFolderValueList))
- {
- #region//根据选择的值得到文件夹
- string[] folderList = selectedFolderValueList.Split(new char[] { ',' });
- #endregion
- #region//循环文件夹
- if (folderList != null && folderList.Length > )
- {
- foreach (string folderguid in folderList)
- {
- #region//根据文件夹的guid得到第1张图片
- if (!string.IsNullOrEmpty(folderguid))
- {
- SPListItem itemfolder = splist.Folders[new Guid(folderguid)];
- //
- if (itemfolder != null)
- {
- //文件夹
- SPFolder subfolder = itemfolder.Folder;
- //如果文件夹不为空
- if (subfolder != null)
- {
- #region//读取第1张图片为文件夹显示的图片
- //读取照片
- List<SPFile> spfiles = (from SPFile file in subfolder.Files
- orderby file.TimeCreated descending
- select file).ToList();
- //如果不为空
- if (spfiles != null)
- {
- //值读取一张
- foreach (SPFile spfile in spfiles)
- {
- #region//读取照片详细信息
- PhotoFileEntity doc = new PhotoFileEntity();
- //赋值
- doc.FileName = spfile.Name;
- //文件夹的名称
- doc.FolderName = subfolder.Name;
- //文件夹的相对url
- doc.FolderUrl = HttpUtility.UrlEncode(subfolder.Url);
- //扩展名
- doc.Extension = spfile.Item["File_x0020_Type"] == null ? string.Empty :
- spfile.Item["File_x0020_Type"].ToString();
- //大小缩略图
- string twName = doc.FileName.Replace(string.Format(".{0}", doc.Extension),
- string.Format("_{0}", doc.Extension));
- //缩略图的url
- doc.ThumbnailUrl = string.Format("{0}/{1}/_t/{2}.jpg", subfolder.ParentWeb.Url, doc.FolderUrl, twName);
- //大图的url
- doc.LargeImageUrl = string.Format("{0}/{1}/_w/{2}.jpg", subfolder.ParentWeb.Url, doc.FolderUrl, twName);
- //
- doc.Id = spfile.UniqueId;
- doc.FileUrl = subfolder.ParentWeb.Url + "/" + spfile.Url;
- doc.ServerRelativeUrl = spfile.ServerRelativeUrl;
- doc.TotalLength = spfile.TotalLength;
- doc.TimeCreated = spfile.TimeCreated;
- doc.TimeLastModified = spfile.TimeLastModified;
- //如果不为空
- if (spfile.Item != null)
- {
- //描述
- doc.Description = spfile.Item["Description"] == null ? string.Empty :
- spfile.Item["Description"].ToString();
- //关键字
- doc.KeyWords = spfile.Item["Keywords"] == null ? string.Empty :
- spfile.Item["Keywords"].ToString();
- //图片宽度
- doc.Width = spfile.Item["ImageWidth"] == null ? : int.Parse(spfile.Item["ImageWidth"].ToString());
- //图片高度
- doc.Height = spfile.Item["ImageHeight"] == null ? : int.Parse(spfile.Item["ImageHeight"].ToString());
- }
- SPUser user = spfile.Author;
- //得到作者
- if (user != null)
- {
- doc.AuthorName = user.Name;
- doc.AuthorLoginName = user.LoginName;
- }
- //加入到集合里来
- photolist.Add(doc);
- #endregion
- }
- }
- #endregion
- }
- }
- }
- #endregion
- }
- }
- #endregion
- }
- }
- catch
- {
- }
- //return
- return photolist;
- }
- #endregion
如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示的更多相关文章
- PHP读取文件夹目录,按时间排序,大小排序,名字排序
工作中有时候会遇到文件存储数据,但是在前台显示的时候又因为没有数据库,无法使用上传或最后一次修改日期字段排序,所以有了如下代码: <?php $dir = "./";//目录 ...
- Sharepoint中有关文件夹的操作
1.GetItemsWithUniquePermissions根据返回数量和是否返回文件夹获取唯一权限的列表项集合 对于SharePoint对象模型中SPList的GetItemsWithUnique ...
- SharePoint REST API - 文件夹和文件
博客地址:http://blog.csdn.net/FoxDave 本篇讲述如何通过REST操作文件夹和文件. 使用REST操作文件夹 在你知道某个文档库中的文件夹的URL时,可以使用如下的代码获 ...
- java 把一个文件夹里图片复制到另一个文件夹里
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.ut ...
- 读取assets文件夹下图片(ods_interview)
今天看了一道题,现在总结一下里面使用到的知识点: 1.assets文件的访问: 原文出处:http://blog.csdn.net/fengyuzhengfan/article/details/383 ...
- PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签
新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...
- angular调用WCF服务,读取文件夹下图片显示列表,下载另存为图片
读取文件夹下的文件 public string ReadImagesPaths() { string result = string.Empty; try { string path = System ...
- du---查看文件夹大小-并按大小进行排序
使用df 命令查看当前磁盘使用情况: df -lh [root@gaea-dev-xjqxz-3 ~]$ df -lh Filesystem Size Used Avail Use% Mounted ...
- [Linux] du-查看文件夹大小-并按大小进行排序
reference : http://blog.csdn.net/jiaobuchong/article/details/50272761# 某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废 ...
随机推荐
- CentOS 7 关闭防火墙和SELinux
[修改机器名] # vi /etc/hostname [关SELinux] # vi /etc/selinux/config设置SELINUX=disabled [关防火墙] # systemctl ...
- plsql导入excel时报错:ORA-01036: 非法变量名/编号
导入oracle数据,选择工具->odbc导入->Excel 然后关于日期的插入出错,修改后如下:
- Hyperledger中数据存取的实现
简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...
- 意译:《JVM Internals》
译者语 为加深对JVM的了解和日后查阅时更方便,于是对原文进行翻译.内容是建立在我对JVM的认识的基础上翻译的,加上本人的英语水平有限,若有纰漏请大家指正,谢谢. 原文地址:http://blog.j ...
- C#深入.NET平台的软件系统分层开发
今天我们来讲讲分层开发,你从标题能不能简单的认识一下什么是分层呢? 不懂也没关系,接下来我来给你讲讲. 第一章 软件系统的分层开发 (1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的 ...
- 需要正确安装 Microsoft.Windows.ShellExperienceHost 和 "Microsoft.Windows.Cortana" 应用程序。
windows 10 开始菜单修复工具 Win10开始菜单修复工具出现的原因,自从升级到Windows 10,一直BUG不断,而其中有一个BUG非常的让你印象深刻,就是开始菜单无响应,你用着用着电脑 ...
- c#使用WebClient登录网站抓取登录后的网页
C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebCl ...
- Swift注释
Swift 中的普通注释与 Objective-C 中的一致,大概分为以下三种 // 单行注释 何问起 / * 多行注释 hovertree.com */ /// 标记注释1 http://hove ...
- Web端权限管理新增实用功能:批量增加操作,简单方便快速!
扩展了吉日嘎拉的Web端权限管理功能后,每次添加菜单倒没啥问题,毕竟菜单的数量有限,可是每增加一个模块.功能或者说权限控制点,就得针对各种常规操作,新增很多遍. 浪费时间,还容易出错.新增了一个字典表 ...
- Scala确实是门好语言
看完了一本Scala的书,整体感觉很不错,语法很简洁,对用惯了脚本语言的人来说语言特性稍微有点复杂,不过对Java用户应该没有压力. 最牛叉的有两点:并发.面向领域编程