我有一个如下所示的 ftp 路径:
ftp://my|user|name:mypassword@example.com/Test/file.txt
我正在尝试使用以下两个功能Path
:
1. Path.GetDirectoryName
2.Path.Combine
两者都返回“路径中的非法字符”。
解决此问题的最佳解决方案是什么?我需要获取目录,并且需要将它与不同的文件 url 结合起来。
使用Uri
类提取路径部分,而不是使用Path
类来操作它。
用于UriBuilder
将其构建回来。
var fullPath =
new Uri(@"ftp://my|user|name:mypassword@example.com/Test/file.txt")
.AbsolutePath;
要从 uri 中提取路径和查询字符串,您可以使用new Uri(someString).PathAndQuery
答案Get url parts without host
要结合 Url 或 Uri,您可以使用答案https://stackoverflow.com/a/23399048/3481183
该Uri.Combine
答案中描述的功能也已针对组合 ftp 部分进行了测试。