在最近的一个项目中,我很高兴能够解决一个错误,该错误涉及图像在空格处于文件名时不加载。我以为“多么简单的问题,我会UrlEncode()
吧!”但是,不!只需使用UrlEncode()
即可解决问题。在ASP.NET中,为什么会有UrlEncode()和UrlPathEncode()?
新的问题是HttpUtilities.UrlEncode()
方法交换空间()来加分(
+
)代替的%20
像浏览器通缉。所以file+image+name.jpg
将返回未找到,而file%20image%20name.jpg
被发现正确。
谢天谢地,一位同事指出HttpUtilities.UrlPathEncode()
给我,%20
代替+
。
为什么有两种处理Url编码的方法?为什么有两个命令行为如此不同?
有关更好的解决方案,请参见http://stackoverflow.com/questions/602642/server-urlencode-vs-httputility-urlencode/603962#603962。 –
可能的重复:http://stackoverflow.com/q/4145823/2291 –
@Mufasa - 嗯...我知道区别。我想知道为什么。 – quakkels