0

嗨,我在 Windows Phone 8 中开发了一个应用程序,它将图像从服务器下载到手机,并且每个文件夹都在pictures显示thumbnails,没有任何问题。但是如果有一个带有"#"类似符号的文件夹Fold#er,那么文件夹内的所有图像都会显示,但缩略图不显示,它是空的。

我已经调试了代码,没有问题,没有例外。即使在我测试过的服务器中,它也可以很好地处理缩略图和图片。

知道为什么#符号会产生这个问题吗?

谢谢

4

2 回答 2

1

哈希 (#) 是 URL 锚点。听起来您需要对路径进行 URL 编码。例如Fold%23er

于 2013-03-27T11:35:16.337 回答
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 找到的解决方案。

谢谢

于 2013-04-25T09:08:44.930 回答