c# - 从 URI 相对路径中删除 %20

标签 c# uri relative-path

我正在生成从 1 个目录到另一个目录的相对路径。如果 OutputDirectoryName 属性是包含空格的目录,则使用 %20 而不是空格对空格进行编码。我正在创建一个到 Windows 文件夹的相对路径,所以我必须使用空格来设置我的相对路径。有没有一种简洁的方法来指定 URI 的编码方式?我知道我可以对 relativePath.ToString() 进行 stirng 替换,但我想知道是否有更好的实现。 谢谢。

public string GetOutputDirectoryAsRelativePath(string baseDirectory)
{
    Uri baseUri = new Uri(baseDirectory);
    Uri destinationUri = new Uri(OutputDirectoryName);
    Uri relativePath = baseUri.MakeRelativeUri(destinationUri);
    return relativePath.ToString();
}

最佳答案

关于c# - 从 URI 相对路径中删除 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706555/

相关文章:

linux - 如何从命令行中的相对路径获取绝对路径

c# - 如何可靠地确定一个实体是 transient 的?

c# - 在 foreach 循环中的 expando 对象中添加新属性

c# - 当文本更改并满足特定条件时更改文本框的前景色

c++ - 在 C++ 跨平台中解析 url 的简单方法?

c++ - 在 Mac 和 Linux 上将相对路径转换为绝对路径

html - 基本 HTML - 子文件夹的相对路径(使用目录名称)在桌面上是否有效?

c# - 在大型 wpf 数据网格中移动/隐藏列的性能问题

C#,是否有比 IsWellFormedUriString 更好的方法来验证 URL 格式?

android - 从相机 Intent 结果中获取路径和文件名