需要知道如何检查父目录访问权限。
情况1:路径= https://18.56.199.56/Project/Docs/../Hello.File.txt
情况2:路径= https://18.56.199.56/Project/Docs/Hello..File.txt
使用一些检查,我需要找到父目录访问权限(如情况1),而不是文件名中的“ ..”(如情况2)
使用下面的代码,我可以获得预期的输出,但是我需要一些预定义的方法(例如Uri.AbsoluteUri Properties)来完成相同的工作。
class Program
{
static void Main(string[] args)
{
if (Path.Contains("../")) {
// do something
}
}
}
要求:需要一些类似下面的预定义方法才能完成此工作。使用下面的代码,我将isFile设置为false。
var isFile = new Uri(Path).AbsoluteUri.Split('/')。Contains(“ ..”);
答案 0 :(得分:3)
要检查路径是否包含../
,可以使用string.Contains()
https://docs.microsoft.com/en-us/dotnet/api/system.string.contains?view=netframework-4.8
filePath1 = filePath1.Replace("../", "")
// To skip ../ in the path we check in the first contains if it's in the path.
// The definition of || is OR
// To skip ./ in the path we check it in the second part of the if statement.
// So in pseudo code it says:
// if filepath1 conatains ../ OR if filepath1 contains ./ return null
if (filePath1.Contains("../") || filePath1.Contains("./"))
return null;