文件夹下迭代查询文件

客户需求】:由于客户需要查询的图片太多(每天好多张),通过文章登记或者附件上传太麻烦,想要通过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 @ 2014-10-27 21:08  革新  阅读(1280)  评论(6编辑  收藏  举报