文件夹下迭代查询文件

客户需求】:由于客户需要查询的图片太多(每天好多张),通过文章登记或者附件上传太麻烦,想要通过FTP上传到服务器中,然后在前台查询,将图片显示出来。但图片太多,每天上传,为了管理方便,每天新建一个文件夹,直接将文件夹中的图片上传,而该文件夹下又有若干层和若干个子文件夹。

分析】:文件夹不确定,文件夹名字也不确定,甚至图片的格式也不确定,而用户输入一个图片编号(图片名字,如:_20140926135.JPG 编号:20140926135),则需要将所在文件夹中的图片编号和图片显示出来。那么则需要将指点文件夹下的图片文件拿出来一一比对,找到编号相同的图片文件,如果没有找到,则显示“没有该编号的记录”。

解决方案】:在方法中递归地去文件夹中搜索文件,直到文件夹下没有文件了为止。如图所示:

返回文件的路径。

部分代码:

复制代码
    /// <summary>
    /// 查找指定文件夹下指定后缀名的文件
    /// </summary>
    /// <param name="directory">文件夹</param>
    /// <param name="pattern">后缀名</param>
    /// <returns>文件路径</returns>
    public List<string> GetFiles(DirectoryInfo directory, string pattern)
    {


        if (directory.Exists || pattern.Trim() != string.Empty)
        {
            try
            {
                foreach (FileInfo info in directory.GetFiles(pattern))
                {
                    result.Add(info.FullName.ToString());
                }
            }
            catch { }
            foreach (DirectoryInfo info in directory.GetDirectories())
            {
                GetFiles(info, pattern);
            }
        }
        return result;
    }
复制代码

效果如图所示:

DEMO下载,演示:
http://download.csdn.net/detail/u011397689/8088203

 

posted @   革新  阅读(1281)  评论(6编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示