我在这里有一个应接受文件路径的文本框。我应该如何验证(通过单击按钮)给定路径文件是否存在?检查给出的路径字符串是否无效
例如,“C:MyDocs \ sample.txt的”应该是无效的,因为它实际上不是在本地驱动器上现有的和后“C:”有没有“\” ..
我已经尝试使用这个:
FileInfo fi = new FileInfo(fName);
if (fi.Exists)
//do something
但它不能满足我的问题..任何人都可以建议?
我在这里有一个应接受文件路径的文本框。我应该如何验证(通过单击按钮)给定路径文件是否存在?检查给出的路径字符串是否无效
例如,“C:MyDocs \ sample.txt的”应该是无效的,因为它实际上不是在本地驱动器上现有的和后“C:”有没有“\” ..
我已经尝试使用这个:
FileInfo fi = new FileInfo(fName);
if (fi.Exists)
//do something
但它不能满足我的问题..任何人都可以建议?
使用Uri.IsWellFormedUriString(path, UriKind.Absolute);
检查路径是否有效(旁边如果该文件存在)
这里阅读乌里验证: http://msdn.microsoft.com/en-us/library/system.uri.iswellformeduristring.aspx
样品:
bool isValid = Uri.IsWellFormedUriString(fName, UriKind.Absolute) &&
File.Exists(fName);
如果结果是真实的,你可以肯定地知道用户提供的文件格式是有效的,文件存在于文件系统中。
if(!File.Exists(filename))
{
// file does not exist or path is invalid
}
'fi.Exists'会评估为false,那么实际上并没有什么作用? – V4Vendetta 2012-08-09 09:24:41
你需要突出你的问题因为如果aspnet,你将如何映射一个文件在客户端机器上有效,而不是在你的服务器上执行这些检查? :) – V4Vendetta 2012-08-09 09:30:12