2011-05-24 38 views
2
DirectoryInfo Dir = new DirectoryInfo(Server.MapPath(strheadlinesid)); 
    FileInfo[] FileList = Dir.GetFiles("*.txt", SearchOption.AllDirectories); 

在* .txt的地方,我想提及一些更多的文件擴展名我該怎麼做。僅在asp.net中顯示所需的文件

我用另一種方法,但我有一個小問題,當我使用FI作爲超鏈接它給總路徑。但我想打印只有文件名不完整路徑。

string supportedExtensions = "*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.wmf,*.emf,*.xbm,*.ico,*.eps,*.tif,*.tiff,*.g01,*.g02,*.g03,*.g04,*.g05,*.g06,*.g07,*.g08"; 

    foreach (string FI in Directory.GetFiles(Server.MapPath(strheadlinesid), "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower()))) 
    { 

     Response.Write("<td><a href= view5.aspx?file=" + strheadlinesid + "\\" + FI + " target=_self;> " + 
      FI + "</a></td>"); 

    } 

回答

3

嘗試

string fileFilter = "*.wma,*.jpeg,*.txt"; 
      string[] fileExt = fileFilter.Split(','); 
      FileInfo[] fileInfo = null; 
      DirectoryInfo dir = new DirectoryInfo("D:\\Test"); 
      List<FileInfo[]> listFileInfo = new List<FileInfo[]>(); 

      foreach (string strVar in fileExt) 
      { 
       fileInfo = dir.GetFiles(strVar, SearchOption.AllDirectories); 
       listFileInfo.Add(fileInfo); 
      } 
+0

話說路徑中具有非法字符。 – Naresh 2011-05-24 06:53:45

+0

Dir是我猜的目錄。 – 2011-05-24 07:01:01

+0

我上面有另一行:DirectoryInfo Dir = new DirectoryInfo(Server.MapPath(strheadlinesid));所以我認爲這不是問題。 – Naresh 2011-05-24 07:04:06