我使用以下代码从目录中获取所有文件并搜索特定文件:
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”。
答案 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
属性(仅文件名(不是包含包含文件夹路径的完整文件路径),您将不会不必要地搜索文件夹路径的任何部分。