最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Web里URL空格的轉(zhuǎn)換方法

 更新時間:2013年05月14日 15:24:51   作者:  
今天收到一個Bug修復(fù)的任務(wù),Bug為在頁面上輸入一個文件夾名包含空格,點擊該文件夾的URL后鏈接錯誤。

看URL是HttpUtility.UrlEncode將空格轉(zhuǎn)換成了“+”號,原因找到就著手解決Bug。
引用:

復(fù)制代碼 代碼如下:

  fileName = HttpUtility.UrlEncode(fileName, Encoding.UTF8);
  fileName = fileName.Replace("+", "%20");

  通過Replace替換解決,雖然問題解決了,但這并不是一個很好的方法,如果文件夾或文件名中包含“+”號則會導(dǎo)致另外的Bug發(fā)生。
最佳解決方案:

  使用HttpUtility.UrlPathEncode,UrlPathEncode 方法執(zhí)行下列步驟:

    1.將 UrlPathEncode 方法的編碼邏輯只應(yīng)用于 URL 的路徑部分(不包括查詢字符串)。 該方法假定 URL 被編碼為 UTF-8 字符串。

    2.對非空格編碼,以便在所得的編碼字符串中使用前 128 個 ASCII 字符的子集。 Unicode 的所有字符值為 128 及更高,或者 32 和更小, URL 中輸入。

    3.輸入空格作為 %20。

  使用 UrlEncode 方法或 UrlPathEncode 方法,可以輸入 URL。 但是,方法返回不同的結(jié)果。 UrlEncode 方法將每個空格字符轉(zhuǎn)換為加號 (+) 字符。 UrlPathEncode 方法將每個空格字符轉(zhuǎn)換為字符串 %20,以十六進制表示法表示的一個空格。 在對 URL 的路徑部分編碼時使用 UrlPathEncode 方法,以保證一致的已解碼 URL,與執(zhí)行解碼的平臺或瀏覽器無關(guān)。 當(dāng)您使用 UrlPathEncode 方法時,查詢字符串值不會輸入。 因此,可通過問號的任何值 (?) 在字符串,將不會輸入。 如果必須通過 URL,當(dāng)查詢字符串,則使用 UrlEncode 方法。

  看到項目中很多頁面都使用了Replace方式,查詢后全部替換為UrlPathEncode減少更多Bug的發(fā)生。

相關(guān)文章

最新評論

祥云县| 吐鲁番市| 宁陵县| 刚察县| 方正县| 昌邑市| 称多县| 台湾省| 江阴市| 邓州市| 华池县| 青河县| 灵台县| 新闻| 绥化市| 修武县| 赫章县| 凯里市| 云阳县| 花莲县| 宜兰市| 奇台县| 岳池县| 嘉鱼县| 三明市| 淮南市| 嘉兴市| 肇州县| 康保县| 古浪县| 内黄县| 温州市| 沙湾县| 夏津县| 塔河县| 南充市| 鹤壁市| 芷江| 林州市| 卓尼县| 通榆县|