如果指定了没有.PNG扩展名的URL,如何使Internet Explorer显示.PNG图像?

时间:2015-10-07 09:22:04

标签: html image internet-explorer

例如,我希望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中显示此类网址资源的内容?

2 个答案:

答案 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由返回图像的服务器设置。您应该查看您的服务器配置。