日期:2014-05-17  浏览次数:20630 次

如何循环遍历文件夹下面所有的图片 ?
因为,网站后台需要做一个媒体库功能,就是遍历出,所有上传的文件,有图片,pdf,word等格式文件。网站有一个ImgUpload文件夹,这个里面包含很多子文件夹名称,上传的图片,都放在对应的年月文件夹里面,比如201206文件夹,

有的时候,201206文件夹下面还有子文件,有没有一种方法,可以遍历ImgUpload下面,所有的文件包括,文件夹中的子文

件。

我最开始用的遍历文件夹方法,是
C# code


 string sPath = Server.MapPath("//ImgUpload/");
        DirectoryInfo di = new DirectoryInfo(sPath);

        DirectoryInfo[] aa = di.GetDirectories();





这个只能,返回根目录ImgUpload下面的文件夹图片,但是子文件,比如201206下面的文件夹包含的图片,就出不来。


有没有好的方法,大家有没有做过类似的功能 ?

------解决方案--------------------
递归 
http://blog.csdn.net/ever_snow/article/details/7219416
------解决方案--------------------
用那个重载方法就行了:
C# code
        string sPath = Server.MapPath("//ImgUpload/");
        DirectoryInfo di = new DirectoryInfo(sPath);

        DirectoryInfo[] aa = di.GetDirectories("*.gif", SearchOption.AllDirectories);

------解决方案--------------------
不用递归,framework里有函数,可以直接使用:
di.GetFiles(*.*, SearchOption.AllDirectories);


声明:
DirectoryInfo.GetFiles Method (String, SearchOption)

public FileInfo[] GetFiles(
string searchPattern,
SearchOption searchOption
)
参考:
http://msdn.microsoft.com/en-us/library/ms143448.aspx