/// <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图片库的文件夹的图片按照时间排序并分页显示的更多相关文章

  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. 把《c++ primer》读薄(1-2前言+变量和基本类型)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 一:大小端的概念 Big-Endian和Little-Endian(见计算机存储的大小端模式解析) 二:浮点数的机器级表示 (见 ...

  2. webpack打包压缩工具的使用方法

    具体使用方法参考来源http://www.cnblogs.com/Leo_wl/p/4793722.html 必须注意的地方: 一.webpack在nodejs环境下运行 二,每个目录下都必须有一个w ...

  3. tomcat组成及工作原理

    1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet containe ...

  4. Laravel学习

    Laravel是个很强大的PHP框架,它剔除了开发中Web开发中比较痛苦的过程,提供了验证(authentication),路由(routing),Session和缓存(caching)等开发过程中常 ...

  5. Moon.Orm 5.0 (MQL版) 驱动开发方案

    Moon.Orm 5.0 (MQL版) 配置说明 这一文中说明了如何配置,如何写自己的驱动.要写自己的驱动方法就是继承基类Db, Db的类结构,点击查看

  6. Moon转告给你一个比Log4net更好日志框架--TracerX Logger 及其对应的日志查看器

    一.介绍 TracerX logger是一个易于上手,且拥有众多高级特性的.NET日志框架. 它能够发送输出结果到多目的地(循环文件.事件日志等....).它也能生成文本和二进制文件.它拥有一个强大的 ...

  7. git gitignore文件失效处理

    这里讲的是使用 git ignore 时候的一种特殊情况   正常你在本地给项目添加了一些文件之后,一般都会自动全部跟踪,但是在这个时候你必须编辑一个ignore文件,把一些不需要跟踪到文件ignor ...

  8. SQL--子查询

    什么是子查询 子查询:顾名思义,在一个查询中,有另外一个查询,这个查询就叫做,主查询的子查询. [把一个查询的结果,在另一个查询中使用就叫子查询.(将一个查询语句,作为一个结果集,供其他SQL语句使用 ...

  9. 【转载】使用Lucene.NET实现数据检索功能

    1.索引的管理 //指定索引库文件存放文件位置 FSDirectory directory = FSDirectory.Open(new DirectoryInfo(this.IndexDataDir ...

  10. c#中的正则表达式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...