您好我已經開發了Windows Phone 8中的應用程序,它將圖像從服務器下載到手機,並且每個文件夾是pictures
和thumbnails
正在顯示,沒有任何問題。但是如果有一個文件夾"#"
象Fold#er
這樣的符號,那麼在文件夾內所有的圖像都顯示,但縮略圖不顯示,它是空的。文件夾名稱包含#符號但縮略圖不顯示
我調試了代碼,沒有問題,沒有例外。即使在我測試過的服務器上,它也能很好地處理縮略圖和圖片。
任何想法爲什麼是#
符號創建此問題?
謝謝
您好我已經開發了Windows Phone 8中的應用程序,它將圖像從服務器下載到手機,並且每個文件夾是pictures
和thumbnails
正在顯示,沒有任何問題。但是如果有一個文件夾"#"
象Fold#er
這樣的符號,那麼在文件夾內所有的圖像都顯示,但縮略圖不顯示,它是空的。文件夾名稱包含#符號但縮略圖不顯示
我調試了代碼,沒有問題,沒有例外。即使在我測試過的服務器上,它也能很好地處理縮略圖和圖片。
任何想法爲什麼是#
符號創建此問題?
謝謝
經過大量研究,我找到了解決方案,感謝@Blazes的建議,但這是不同的問題。在我的應用程序中,每當它發現像#,^,<,>等任何特殊字符時,它只是截斷字符串,直到該字符串,最糟糕的部分是它沒有拋出任何錯誤/異常。現在,我已經使用
string escapeStr = Uri.EscapeDataString(filepath);
這條線是不足以解決問題,但有時整個字符串必須逃脫編碼
像假設你有一個字符串,它就像
string request = "Username" + uname + "Password" +Pwd + "Filepath" + filepath;
然後在這種情況下
string unamestr = Uri.EscapeDataString(uname);
string Pwdstr = Uri.EscapeDataString(Pwd);
不會幫助,因爲你正在處理unicode字符。因此,在這種情況下,整個字符串需要被編碼這樣
string request = Uri.EscapeDataString("Username" + uname + "Password" +Pwd + "Filepath" + filepath);
這是我通過反覆試驗/錯誤的方法和從SO找到了解決辦法。
謝謝
散列(#)是一個URL錨點。這聽起來像你需要URL路徑編碼。例如。 Fold%23er
那我該如何解決呢?我應該將#改成%23嗎? (如「(imgTinyThumbnail.FilePath.Contains(」#「)) { imgTinyThumbnail.FilePath.Replace((」#「,」%23「); }' – Debhere 2013-03-27 11:41:18
請參閱:http://stackoverflow.com/問題/ 575440/URL編碼-使用-C-尖銳 – Blazes 2013-03-27 11:42:17