文件夹下迭代查询文件
【客户需求】:由于客户需要查询的图片太多(每天好多张),通过文章登记或者附件上传太麻烦,想要通过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