2

我已将图像导入自己的服务器。其中有许多文件名%20之一,例如50128%202789%20001V%20500.jpg. 但是浏览器将其视为50128 2789 001V 500.jpg,因此不会显示图像。

我可以使用什么解决方案来正确显示图像?

4

1 回答 1

2

“%20”是空格的百分比编码,在 URL 中具有特殊含义。基本上,您不能在 URI 或 URL 中使用空格,并且必须用代码替换它们以符合规则。读取 URL 的东西(例如服务器)将它们翻译回来。

不幸的是,这意味着如果您有一个包含此序列的文件名,它会被误认为是百分比编码的空间,如您所见。

解决方案是还对“%”进行百分比编码。'%' 字符的百分比编码是 "%25"。

在您的示例中,名称“50128%202789%20001V%20500.jpg”必须编码为“50128%25202789%2520001V%2520500.jpg”,这样这些“%”字符就不会被误认为是空格。

当然还有其他东西会被编码。规则在URI 规范中定义。

于 2013-06-05T22:13:09.967 回答