如何对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 > 0)
                    {
                        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 ? 0 : int.Parse(spfile.Item["ImageWidth"].ToString());
                                                    //图片高度
                                                    doc.Height = spfile.Item["ImageHeight"] == null ? 0 : 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
时间: 2024-11-08 21:37:06

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

Python-漫画辅助脚本-重命名文件夹内图片生成HTML

有时候会从网上下载一些漫画,通常是图片格式,jpg 或 png.这些图片在线预览的效果是不错的,但是一旦下载到本地,浏览器来就比较麻烦: 需要方向键上下翻页 默认在屏幕内完全显示图片,造成图片较小,看不清楚 基于这样的考虑,写了下面这样一个 Python 脚本,可以读取漫画文件夹中图片,重命名为有规律的图片名生成相应的 HTML 文件,这样就可以通过 HTML 来浏览图片了,浏览起来效果好了很多. #!\usr\bin\env python # -*- coding: utf-8 -*- imp

设置SharePoint站点库文件夹安全组或AD用户权限脚本

我们直接拿一个应用举例: 为"部门共享文档库"里面的"工会"文件夹添加"domain\lixs"的"只读"权限. 代码内容: ############################################ #Author:Lixiaosong #Email:[email protected];[email protected] #For:设置SharePoint库文件夹安全组权限 #Version:1.0 2015年

android如何获取一个SD卡指定文件夹的图片Uri uri问题

============问题描述============ String a="file://"+Environment.getExternalStorageDirectory().getPath()+"/dcim/Camera/"; //  File baseFile = new File(a+"/dcim/Camera/15.jpg"); //  Uri uri =  Uri.fromFile(baseFile) ; //  Uri uri =

所有子文件夹中图片个数matlab代码实现

clcclear allclose all %% 查看子文件下有多少张图片 maindir='G:\CASIA-maxpy-clean';subdir = dir( maindir ); % 先确定子文件夹N=0;lensubdir=length(subdir);fprintf('一共有%d个子文件夹',lensubdir-2) ; %去除两个符号文件for i = 1 : lensubdir %从第三个开始 if( isequal( subdir( i ).name, '.' ) || ...

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

reference : http://blog.csdn.net/jiaobuchong/article/details/50272761# 某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废话少说,开始吧: 使用df 命令查看当前磁盘使用情况: [email protected]:~$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 5.7G 11G 35% / udev 2.7G 4.0K 2.7G 1%

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

读取文件夹下的文件 public string ReadImagesPaths() { string result = string.Empty; try { string path = System.IO.Directory.GetCurrentDirectory(); DirectoryInfo files = new DirectoryInfo(path+@"\Images"); FileInfo[] fileinfo = files.GetFiles(); foreach (F

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

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Calendar; public class SendServer { private int num = 0; public void process() { Calendar calendar = Calendar.getInstance(); String dir = calendar.

文件夹上不用按Shift,右键直接显示“在此处打开命令窗口”

文件夹(Windows资源管理器)上按Shift+右键,出现的"在此处打开命令窗口"菜单,是很有用的菜单.但需要按Shift显得不方便. 将下面文本保存为任意扩展名为.reg的文件,然后双击导入,即可实现不按Shift也显示这个菜单了. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\cmd] "Extended"=- [HKEY_CLASSES_ROOT\Directo

iOS imageName方法获取Folder文件夹(蓝色文件夹)内图片

Xcode创建的iOS项目内存在两种文件夹:Group(黄色, 伪文件夹) 和Folder(蓝色, 真文件夹): Group: Folder: Images.xcassets或Group文件夹内的PNG图片可通过imageNamed方法直接加载: [UIImage imageNamed:@"photo"]; Folder文件夹内的PNG图片通过imageNamed方法加载必须拼接文件夹路径, 否则图片无法显示: [UIImage imageNamed:@"Folder/ima