例如,我希望IE
能够显示由URL表示的png图像
“http://update1.osmp.ru/logos/7642909813539583507”:
<html>
<head>
<title>Failed to display png image that comes without .png extension in URL</title>
</head>
<body>
<img src="http://update1.osmp.ru/logos/7642909813539583507">
</body>
</html>
它不起作用,因为IE
未将http://update1.osmp.ru/logos/7642909813539583507解析为PNG文件。是否有任何变通方法,插件,以及使用IE
标记在img
中显示此类网址资源的内容?
答案 0 :(得分:4)
URL中没有文件扩展名。只是看起来像文件扩展名的东西,可能碰巧映射到文件系统上的文件扩展名。
确定如何处理HTTP资源的内容类型,以及是否检查了该资源......
[ david ][ david@raston ] % lynx -dump -head "http://update1.osmp.ru/logos/7642909813539583507" HTTP/1.1 200 OK Date: Wed, 07 Oct 2015 09:24:16 GMT Content-Type: text/plain
...您将看到服务器声称它是纯文本文件而不是PNG图像(image/png
)。
您需要修复服务器,以便发送正确的内容类型。
如何执行此操作取决于您用于生成映像的服务器和任何服务器端软件。
例如,如果您正在提供一个没有文件扩展名的静态文件(服务器通常使用文件系统上的文件扩展名来确定静态文件的内容类型),那么您正在使用Apache HTTPD ,那么你可以使用the ForceType
directive。
e.g。在您的服务器配置中:
<Location /logos/>
ForceType image/png
</Location>
答案 1 :(得分:3)
问题是您的回复的Content-Type
标题。它是text/plain
,但必须是image/png
。
Content-type
由返回图像的服务器设置。您应该查看您的服务器配置。