簡體   English   中英

從 URI 相對路徑中刪除 %20

[英]Removing %20 from URI Relative Path

我正在生成從 1 個目錄到另一個目錄的相對路徑。 如果 OutputDirectoryName 屬性是包含空格的目錄,則使用 %20 而不是空格對空格進行編碼。 我正在創建一個到 windows 文件夾的相對路徑,所以我必須使用空格來設置我的相對路徑。 有沒有一種干凈的方法來指定 URI 的編碼方式? 我知道我可以對relativePath.ToString() 進行替換,但我想知道是否有更好的實現。 謝謝。

public string GetOutputDirectoryAsRelativePath(string baseDirectory)
{
    Uri baseUri = new Uri(baseDirectory);
    Uri destinationUri = new Uri(OutputDirectoryName);
    Uri relativePath = baseUri.MakeRelativeUri(destinationUri);
    return relativePath.ToString();
}
string sRelativeFilePath = Uri.UnescapeDataString(new Uri(sAbsolutePath + "\\", false).MakeRelative(new Uri(filename)));

嘗試查看 Server.UrlDecode: http : //msdn.microsoft.com/en-us/library/6196h3wt.aspx

空格字符不是唯一被編碼的字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM