Directory.GetFiles()返回完整路径

本文关键字:路径 返回 GetFiles Directory | 更新日期: 2023-09-27 18:21:48

我想返回特定目录中的图像文件。我想创建像这样的图像路径

  string[] ImageNames = Directory.GetFiles(path);

        string tds="";
        for (int i = 0; i < ImageNames.Length; i++)
        {
          tds += "<tr> <td> <img href=/Articles/ArticleImageStore/'" + ImageNames[i] + "' width='64' height='64'></img></tr> </td>";
        }

但它返回磁盘上文件的物理路径。我该怎么做??

Directory.GetFiles()返回完整路径

您可以使用Path.GetFileName:

string[] ImageNames = Directory.GetFiles(path)
                                    .Select(p => Path.GetFileName(p)).ToArray();

这将生成一个仅包含文件名的列表。

与其使用Directory类,不如使用DirectoryInfo,这样您就可以做到这一点;

 string[] fNames = new DirectoryInfo(dirPath).GetFiles("*.png").Select(x => x.FileName).ToArray();

DirectoryInfo版本的GetFiles以字符串形式返回FileInfo对象,而不是文件路径,因此您可以对结果执行更多操作。我碰巧有一个选择,只需为GetFiles返回的每个FileInfo实例投影一个FileName,就可以使其无效,但如果你需要对文件做更多的处理,你可以删除它,然后在FileInfo对象上循环。

此外,我使用了一个重载,它有一个模式,可以很容易地忽略你的非图像文件。

目录信息文档;http://msdn.microsoft.com/en-us/library/8he88b63.aspx