2013-03-27 45 views
0

您好我已經開發了Windows Phone 8中的應用程序,它將圖像從服務器下載到手機,並且每個文件夾是picturesthumbnails正在顯示,沒有任何問題。但是如果有一個文件夾"#"Fold#er這樣的符號,那麼在文件夾內所有的圖像都顯示,但縮略圖不顯示,它是空的。文件夾名稱包含#符號但縮略圖不顯示

我調試了代碼,沒有問題,沒有例外。即使在我測試過的服務器上,它也能很好地處理縮略圖和圖片。

任何想法爲什麼是#符號創建此問題?

謝謝

回答

0

經過大量研究,我找到了解決方案,感謝@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找到了解決辦法。

謝謝

1

散列(#)是一個URL錨點。這聽起來像你需要URL路徑編碼。例如。 Fold%23er

+0

那我該如何解決呢?我應該將#改成%23嗎? (如「(imgTinyThumbnail.FilePath.Contains(」#「)) { imgTinyThumbnail.FilePath.Replace((」#「,」%23「); }' – Debhere 2013-03-27 11:41:18

+0

請參閱:http://stackoverflow.com/問題/ 575440/URL編碼-使用-C-尖銳 – Blazes 2013-03-27 11:42:17

相關問題