我正在尝试查看图片是否存在,但这表示不存在,并且路径是正确的!路径是正确的,并且有图片,但这总是转到“其他”。
string path = @"c:\folder\pic.jpg";
if (File.Exists(path))
{
//Do something here
}
else
{
}
可能是权限问题。从文档中:
如果调用者没有足够的权限来读取指定的文件,则不抛出异常,并且无论路径是否存在,该方法都返回 false。
当然,这意味着您在运行 Web 应用程序(通常在降低的权限下运行)时比客户端应用程序更有可能看到此问题。
此外,如 deerchao 的评论中所述,仅当给定的路径是文件而不是目录File.Exists
时才返回 true 。同样,从文档中:
如果 path 描述了一个目录,则此方法返回 false。
您正在尝试使用 . 查看文件夹是否存在File.Exists
。这是不正确的 - 目录将失败。
用于Directory.Exists
查找目录是否存在。
string path = @"c:\folder";
if (Directory.Exists(path))
{
//Do something here
}
else
{
}
另一个复杂的问题是,您的应用程序在其下运行的帐户需要具有读取路径的权限 - 如果它没有权限,即使路径存在,这仍然会失败。
我假设您正在尝试检查指定目录中是否存在任何文件?在这种情况下,您可以使用:
string path = @"c:\folder";
if (Directory.Exists(path) &&
Directory.GetFiles(path).Any())
{
//Do something here
}
else
{
}
在 .NET 4 及更高版本中,您可以通过将GetFiles
调用替换为EnumerateFiles
.