GetFiles在文件名中包含空格

时间:2015-02-04 13:25:33

标签: c# file-upload getfiles

我使用以下代码从目录中获取所有文件并搜索特定文件:

string [] fileEntries = Directory.GetFiles("C:\\uploads");
foreach(string fileName in fileEntries)
    if (fileName.Contains(name))
        PicturePath = fileName;

其中“name”是我从DB获得的字符串。

它似乎工作到一个扩展,但如果我的文件在fileName中包含一个空格,它只从fileName获取第一个字符串,这是白色空格之前的第一个字符串,忽略其余部分。我如何获取完整的fileName(以及相应的文件路径)。

例如:我在上传内部有一个名为“ALEXANDRU ALINA.jpg”的文件,在名称中我有一个字符串“ALEXANDRU ALINA”。当我运行该代码(编写PicturePath)时,它只显示“ALEXANDRU”。

1 个答案:

答案 0 :(得分:0)

这可能就是你要找的东西:

string[] fileEntries = Directory.GetFiles("C:\\uploads");

foreach (string fileName in fileEntries)
{
    FileInfo fi = new FileInfo(fileName);
    if (fi.Name.Equals(name, StringComparison.CurrentCultureIgnoreCase)) PicturePath = fileName;
}

您尝试做的是在整个路径中找到目标文件名,但您使用的方法可能会产生错误(如果name包含在文件夹路径的一部分中,该怎么办?) 。通过使用System.FileInfo类及其Name属性(仅文件名(不是包含包含文件夹路径的完整文件路径),您将不会不必要地搜索文件夹路径的任何部分。